SQL Insert组合了另一个表中的值和列

时间:2013-09-08 13:34:38

标签: sql sqlite

我正在尝试在现有表中创建一个由当前时间戳和其他表中的其他数据组成的行。

实现它的正确语法是什么?下面是我想要实现的伪代码。

INSERT INTO logTable
    VALUES( currentTimeStamp, select data1, data2, data3 FROM datatable WHERE data1 = 123);

2 个答案:

答案 0 :(得分:2)

您不能混用insert . . . valuesinsert . . . 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,但请确保列类型匹配。