2009-08-16 22 views
2

Ich habe eine Liste von Elementen in einer bestimmten Tabelle und möchte eine andere Tabelle mit einer ID aus der ersten Tabelle und anderen konstanten Werten in anderen Spalten haben.SQLITE - Frage einfügen

Ich habe die folgende Abfrage bekam:

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

Aber es funktioniert nur für die erste Reihe.

Wie kann ich es für alle Zeilen arbeiten lassen? Ich muss alle IDs aus Tabelle01 kopieren und ihnen die Werte -1 und 10 in anderen Spalten zuweisen.

Danke.

Antwort

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

In ANSI SQL wäre es:

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

wo Status und card_status sind Ihre hart codierte Werte.

... also denke ich würde das auch hier funktionieren.

3

würde ich table02 mit Standardeinstellungen erstellen und dann nur die item_id von table01 einfügen.

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;