SQlite: auswählen in?


80

Ich bin nicht sicher, ob ich select in verwenden kann, um Daten aus einer anderen Tabelle wie dieser zu importieren:

select * into
  bookmark1 
from bookmark;    

Stimmt es, dass SQlite diese Syntax nicht unterstützt? Gibt es noch andere Alternativen?

Antworten:


51

Sie können diese Abfrage versuchen:

insert into bookmark1 select * from bookmark

12
Dies setzt voraus, dass bookmark1 bereits vorhanden ist, während select in eine neue Tabelle erstellt.
Vit

@vit, ja natürlich. Es ist für den Fall, dass wir wieder in eine Tabelle importieren möchten.
Nick Dandoulakis

@ Nick: Ich bin sicher, dass Sie das wissen. Ich dachte nur, dass dies jedem klar gemacht werden sollte, warum er später auf diese Frage stoßen könnte. :)
vit

180

Du könntest es tun:

create table bookmark1 as select * from bookmark;

2
Entschuldigung, ich kann keinen Punkt nennen, weil ich neu bin, aber Ihr Vorschlag funktioniert gut. Danke =)
Glaukon

3
Perfekte Antwort und prägnant und auf den Punkt. +1 und viel Lob.
ZeFree

Gibt es eine Möglichkeit, diese Arbeit in zwei Situationen zu erhalten, in denen die Tabelle bereits vorhanden ist (überschreiben) und in denen dies nicht der Fall ist (neue Tabelle erstellen)?
oob

Dies ist tatsächlich eine bessere Antwort als die als Antwort akzeptierte!
MelloG

1
@Glaucon Jetzt können Sie diese Antwort positiv bewerten und als akzeptierte Antwort auswählen. Es wird jedem helfen, der hierher kommt
Avision

22

Ich gehe davon aus, dass bookmark1 eine neue Tabelle ist, die Sie erstellt haben und die mit der Lesezeichentabelle identisch ist. In diesem Fall können Sie das folgende Format verwenden.

CREATE TABLE bookmark1 AS SELECT * FROM bookmark;

Sie können auch die insert-Anweisung mit Unterabfrage verwenden. Weitere Optionen für Einfügeanweisungen finden Sie unter: SQL wird von SQLite verstanden


11
create table NewTable as
select * from OldTable where 1 <> 1

Dadurch wird die Datenstruktur für Sie kopiert.


1
Das ist ziemlich klug.
TheLegendaryCopyCoder

Wickeln Sie diese SQL in einen Try-Block (oder ein gleichwertiges Konstrukt) in der Programmiersprache Ihrer Wahl.
Knb
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.