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