Mysql插入从条件和限制的另一个表
问题描述:
我有两个表具有一对多关系表1(一),表2(很多)。Mysql插入从条件和限制的另一个表
table1 has (t1_id) as KEY
table2 has (t2_id) as KEY and t2_t1_id as as refference to table1
现在table1
我需要拥有table2
的id
列(rand_t2_id
),我真的不关心哪一个
这是我尝试
INSERT INTO table1 (rand_t2_id)
SELECT t2_id
FROM table2
WHERE table1.t1_id = table2.t2_t1_id;
还有查询如果需要的话,需要在某处进行限制构建。我只需要表2中的一个ID
在这里没有运气寿,任何人都知道一个修复?
答
IMO你可以尝试
UPDATE table1 t1 INNER JOIN table2 t2
ON t1.t1_id = t2.t2_t1_id;
SET t1.rand_t2_id = t2.t2_id
我假设你已经有一个在你的table1
命名rand_t2_id
列。
+0
正是我需要的。它工作得很好,谢谢! – 2012-04-24 07:43:36
答
INSERT INTO table1 (t2_t1_id, rand_t2_id)
SELECT t2_id
FROM ( SELECT t2_id, t2_t1_id
FROM table2
ORDER BY RAND()) AS h
GROUP BY t2_t1_id
ON DUPLICATE KEY UPDATE rand_t2_id = VALUES(rand_t2_id)
我想这就是你想要的?
该查询会将随机t2_id插入到相关表1中。
你是什么意思,你不关心哪个t2_id是从每个rand_t2_id引用的? – 2012-04-24 07:36:36
对不起,如果你们不明白。我很高兴有人做到了。 – 2012-04-24 07:44:08