Ich versuche, eine Tabelle in SQLite, die Daten aus einer CSV-Datei und fügt einen autoinkrementierenden Primärschlüssel der ersten Spalte. Hier ist die Tabelle Ich versuche, Daten in einzufügen:Importieren Sie CSV in SQLite mit autoinkrementierenden Primärschlüssel
DROP TABLE IF EXISTS Allegiance;
CREATE TABLE Allegiance (
AllegianceID INTEGER PRIMARY KEY AUTOINCREMENT,
CharacterID INTEGER,
Title TEXT,
FOREIGN KEY (CharacterID) REFERENCES Characters(CharacterID));
Hier werden die Daten in der CSV-Datei
, 3, King of the North
, 14, King of the Andals and the First Men
, 15, Lord of Dragonstone
, 26, Khaleesi
, 35, Lord Reaper of Pyke
Dies ist der Fehler, den ich empfangen:
sqlite> .mode csv
sqlite> import allegiances.csv Allegiance;
Error: datatype mismatch
Ich erhalte den gleichen Fehler, wenn ich "Null" vor dem ersten Komma in jeder Zeile habe. Wenn ich vor dem ersten Komma in jeder Zeile Zufallszahlen hinzufüge, bekomme ich keine Fehler. Der tatsächliche Datensatz, mit dem ich arbeiten muss, kann jedoch viel größer sein und daher kann ich nicht einfach manuell einen eindeutigen Primärschlüssel für jeden Eintrag hinzufügen. Ich würde wirklich einige Hilfe mit dieser
Wenn Sie Programme von Drittanbietern verwenden, haben Sie die Möglichkeit können Sie den Text, den NULL-Wert repräsentieren zu setzen in Ihrem CSV-Datei. SQLiteStudio ist eines dieser Programme. – Vassilis
@VassilisGr Was meinen Sie mit dem Text, der den NULL-Wert darstellt? – pouya
@pouya, wenn Sie eine CSV-Datei haben, die eine Zeile wie 'pouya, 26, NULL' hat, können Sie festlegen, dass der NULL-Wert in Ihrer CSV-Datei durch die Zeichenfolge" NULL "dargestellt wird. Im Falle von 'pouya, 26,, 'würden Sie NULL setzen ist" "(leere Zeichenfolge). Oder 'pouya, 26, 0' ist der NULL" 0 "in der CSV-Datei! – Vassilis