SQLITE - 插入问题
问题描述:
我已经得到了某个表中的项目列表,并且我希望有另一个表具有来自第一个表的ID和其他列中的另一个常量值。SQLITE - 插入问题
我有以下查询:
INSERT INTO table02(item_id, status, card_status) VALUES((SELECT item_id FROM table01), -1, 10);
但它仅适用于第一行。
如何让它适用于所有行?我需要从table01中复制所有ID,并在其他列中分配值-1和10。
谢谢。
答
INSERT INTO table02 (item_id, status, card_status) SELECT item_id, -1, 10 FROM table01;
答
在ANSI SQL这将是:
INSERT INTO table02(item_id, status, card_status)
SELECT item_id, status, card_status FROM table01;
其中的地位和card_status是你的硬编码值。
...所以我想这也可以在这里工作。
答
我会创造table02
用默认值,然后仅仅从table01
插入item_id
。
CREATE TABLE table02 (item_id INTEGER PRIMARY KEY,
status INTEGER DEFAULT -1,
card_status INTEGER DEFAULT 10);
INSERT INTO table02 (item_id) SELECT item_id FROM table01;