【发布时间】:2015-12-31 13:25:06
【问题描述】:
我正在尝试将一行从一个表复制到另一个表。但是第二个表必须接收两个额外的参数(小时和自动),它们不在第一个表中。
这是我的尝试:
INSERT INTO Individus_corbeille
(
SELECT *
FROM Individus
WHERE ID_individu='706782','NOW()','autor'
)
但是绝对不行……
【问题讨论】:
我正在尝试将一行从一个表复制到另一个表。但是第二个表必须接收两个额外的参数(小时和自动),它们不在第一个表中。
这是我的尝试:
INSERT INTO Individus_corbeille
(
SELECT *
FROM Individus
WHERE ID_individu='706782','NOW()','autor'
)
但是绝对不行……
【问题讨论】:
INSERT INTO Individus_corbeille
SELECT *, NOW(), 'autor'
FROM Individus
WHERE ID_individu='706782'
但您实际上还应该像这样命名您插入的列和您选择的列
INSERT INTO Individus_corbeille (col1, col2, col3, col4)
SELECT col1, col2, NOW(), 'autor'
FROM Individus
WHERE ID_individu='706782'
【讨论】:
NOW() 而不是'NOW()'。也没有在表中指定列并选择它可能是危险的
now() 放在引号中。