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

MYSQL: Insert one value from another table while populating other columns regularly

假设我们有一个 table (1):

id | col1 | col2

还有一个 table (2):

id | col3 

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

填充 col2

这里有几个解决方案。

这使用子查询 return 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.[=12= 中工作]

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