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
假设我们有一个 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