假设我们有一张表(1):
id | col1 | col2
另一张表(2):
id | col3
任务是将所有col3
个不同的值插入col1
,同时使用随机整数值填充col2
答案 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