【发布时间】:2016-04-05 18:39:53
【问题描述】:
我正在尝试在表格中插入几行。这些行的几乎所有值都与同一张表上的另一组记录匹配,所以我很好奇是否可以编写一个带有多个 SELECT 语句的单个 INSERT 语句来插入多行。像这样的:
INSERT INTO table (col1, col2, col3, col4)
SELECT (newRecordID, col2, col3, col4)
FROM table WHERE col1 = oldRecordID AND col4 = 0
SELECT (newRecordID, col2, col3, col4)
FROM table WHERE col1 = oldRecordID AND col4 = 1
SELECT (newRecordID, col2, col3, col4)
FROM table WHERE col1 = oldRecordID AND col4 = 2
SELECT (newRecordID, col2, col3, col4)
FROM table WHERE col1 = oldRecordID AND col4 = 3
这可能吗?最后,它应该插入了 4 行,它们都具有相同的 NewRecordID,col4 的值为 0-3,其他 col 值取自同一张表上对应的 OldRecordID。当我运行它时,它只运行第一个 INSERT SELECT 语句,然后将其他语句作为它们自己的 SELECT 语句运行。我在连接这些方面是否遗漏了什么?我总是可以多次运行它并每次更改值,但我想知道是否有办法避免这种情况。我感谢和帮助或有用的提示。
谢谢
【问题讨论】: