背景
我目前有一个名为Parts_list的表,其结构如下所示:
_id是自动递增所以我总是提供NULL,它可以正常工作。
我正在尝试使用一个相当复杂的SELECT语句来填充此表。我在编写INSERT SELECT语句的语法方面遇到了困难。
我尝试了什么
为了测试,我尝试了这个SQL语句:
INSERT INTO Parts_list VALUES (null, 'My Name',CURRENT_TIMESTAMP, null, null, null, null, null, null, null,null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,null, null, null)
并且插入新行没有任何问题。
问题
然而,当我尝试这样的事情时:
INSERT INTO Parts_list VALUES (null, 'My Name',CURRENT_TIMESTAMP, Part_ID, null, null, null, null, null, null,null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,null, null, null) SELECT Part_ID FROM tracking_vehicles
我在选择一列并尝试插入此列时,没有任何反应。我的语法有问题吗?在我的例子中" Part_ID"是VARCHAR,它匹配要插入的数据类型。任何帮助或指导表示赞赏。
PS我也试过这个:
INSERT INTO Parts_list (null, 'My Name',CURRENT_TIMESTAMP, Part_ID, null, null, null, null, null, null,null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,null, null, null) SELECT Part_ID FROM tracking_vehicles
没有" VALUES"因为我看到许多例子没有使用它,但它不起作用。即使我尝试没有" VALUES"它不起作用,所以我猜我需要它。
答案 0 :(得分:0)
使用提供的示例here我建议您使用以下语法:
INSERT INTO Parts_list (_id, table_owner, etc)
SELECT null, 'My Name', etc
FROM tracking_vehicles
在我开始时列出所有列,然后传递SELECT
中的所有值。