MySQL从select中插入随机行

时间:2013-06-20 02:48:48

标签: mysql database

我有一个像这样设置的表 -

Users
===========
id
userid
friendid

和另一个像这样的设置

Game_Objs
===========
id
obj_id

为了进行测试,我需要将一个随机数的obj_id从Game_Objs插入到与friendids相关联的新表中,所以像这样 -

-------------------------------------------------------------------
Friend_Objs
-------------------------------------------------------------------
id                | friendid              | obj_id
-------------------------------------------------------------------
1                 | 123                   | aaa
1                 | 123                   | bbb
1                 | 123                   | ccc
1                 | 456                   | abc
1                 | 456                   | bbb
1                 | 456                   | cde

其中每个friendid的obj_ids数是随机的。

这可能只使用mysql吗?如果没有,那么在PHP中完成它的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

使用以下

之类的内容
$Query = "insert into `Friend_Objs` " . 
"values (1, 123, " . substr(str_shuffle("abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"), 0, 3);

3更改为您想要的字符串长度。

答案 1 :(得分:0)

以下是如何快速将600k随机行加载到MySQL表中:(MySQL select 10 random rows from 600K rows fast

将其与:

整合
INSERT INTO table(column1, column2 ) SELECT ...

使用返回随机行的上述链接中的select查询。