我正在尝试在现有表中创建一个由当前时间戳和其他表中的其他数据组成的行。
实现它的正确语法是什么?下面是我想要实现的伪代码。
INSERT INTO logTable
VALUES( currentTimeStamp, select data1, data2, data3 FROM datatable WHERE data1 = 123);
答案 0 :(得分:2)
您不能混用insert . . . values
和insert . . . select
。只需使用:
INSERT INTO logTable
select currentTimeStamp, data1, data2, data3
FROM datatable
WHERE data1 = 123;
或者,更好的是,将列设置为具有当前时间戳的默认值,以便自动设置。
答案 1 :(得分:2)
INSERT INTO logTable (column1, column2, column3,column4)
select CURRENT_TIMESTAMP,data1, data2, data3 FROM datatable WHERE data1 = 123
您可以使用其他内容而不是CURRENT_TIMESTAMP,但请确保列类型匹配。