SQLITE - 插入问题

时间:2009-08-16 18:17:55

标签: sqlite

我在某个表中有一个项目列表,我希望有另一个表格,其中包含第一个表格中的ID和其他列中的另一个常量值。

我有以下查询:

INSERT INTO table02(item_id, status, card_status) VALUES( (SELECT item_id FROM table01), -1, 10);

但它仅适用于第一行。

如何让它适用于所有行?我需要复制table01中的所有ID,并在其他列中为它们赋值-1和10。

感谢。

3 个答案:

答案 0 :(得分:6)

INSERT INTO table02 (item_id, status, card_status) SELECT item_id, -1, 10 FROM table01;

答案 1 :(得分:3)

在ANSI SQL中,它将是:

INSERT INTO table02(item_id, status, card_status)
SELECT item_id, status, card_status FROM table01;

其中status和card_status是您的硬编码值。

...所以我猜这也适用。

答案 2 :(得分:3)

我会使用默认值创建table02,然后只插入item_id中的table01

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;