求语句,在表2的字段2中,随机插入表1的字段1的内容

daodaoyu222 2009-10-28 11:27:13
表1

id 字段1

1 fdsf
2 fger
3 hsg
4 grtg


表2

id 字段2

1 grtg
2 fger
3 hsg
4 fdsf

我现在是使用 这两条语句的,
update 表2 set id =ceiling(rand()*4);
update 表1 as a,表2 as b set b.字段2=a.字段1 where a.id=b.id;

但速度太慢

哪位大侠能其它的办法不?


...全文
52 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
vinsonshen 2009-10-28
  • 打赏
  • 举报
回复
update 表1 as a,表2 as b  set b.字段2=a.字段1 where a.id=ceiling(rand()*4) and a.id=b.id; 
daodaoyu222 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 acmain_chm 的回复:]
把 表2 ;的ID设置为 auto_increment

truncate 表2 ;  -- 清空 表2
insert into 表2(字段2)  select 字段1 from 表1 order by RAND();  -- 插入数据,顺序随机


[/Quote]

但是表2中,还有其它的字段的,,其它的字段 还有内容。
ACMAIN_CHM 2009-10-28
  • 打赏
  • 举报
回复
把 表2 ;的ID设置为 auto_increment

truncate 表2 ; -- 清空 表2
insert into 表2(字段2) select 字段1 from 表1 order by RAND(); -- 插入数据,顺序随机

daodaoyu222 2009-10-28
  • 打赏
  • 举报
回复
id都有索引,数据为一百万条左右。
wwwwb 2009-10-28
  • 打赏
  • 举报
回复
建立索引没有?数据量多大
daodaoyu222 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 acmain_chm 的回复:]
楼主能不能准备一下测试用例?

比如你的表结构,数据。 这样其它人可以比较容易得在自己本地进行测试以达到你的要求,并减少理解上的误差。
[/Quote]

说得是,以后一定注意。


这个问题解决了。。谢谢各位。
ACMAIN_CHM 2009-10-28
  • 打赏
  • 举报
回复
楼主能不能准备一下测试用例?

比如你的表结构,数据。 这样其它人可以比较容易得在自己本地进行测试以达到你的要求,并减少理解上的误差。
daodaoyu222 2009-10-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 vinsonshen 的回复:]
SQL codeupdate 表1as a,表2as bset b.字段2=a.字段1where a.id=ceiling(rand()*4)and a.id=b.id;
[/Quote]


这个好像不行

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧