MYSQL:从另一个表中插入一个值,同时定期填充其他列

时间:2016-03-07 09:30:41

标签: mysql insert distinct

假设我们有一张表(1)

id | col1 | col2

另一张表(2)

id | col3 

任务是将所有col3个不同的值插入col1,同时使用随机整数值填充col2

1 个答案:

答案 0 :(得分:1)

这里有几个解决方案。

这使用子查询返回col2的不同值。

INSERT INTO table1 (id, col1, col2)
SELECT NULL, col2, FLOOR(RAND()*(1000))+1
FROM
(
    SELECT DISTINCT col2
    FROM table2
)

以下内容滥用GROUP BY子句,仅为col2的不同值生成行。虽然在MySQL的默认安装上应该没问题,但根据为您的安装设置的选项,它可能不起作用,也可能不适用于其他SQL版本。

INSERT INTO table1 (id, col1, col2)
SELECT NULL, col2, FLOOR(RAND()*(1000))+1
FROM table2
GROUP BY col2