csvファイルからデータを取り込み、最初の列にオートインクリメントのプライマリキーを追加するsqliteでテーブルを作成しようとしています。 は、ここで私はにデータを挿入しようとしているテーブルです:プライマリキーを自動インクリメントしてssiteにcsvをインポート
DROP TABLE IF EXISTS Allegiance;
CREATE TABLE Allegiance (
AllegianceID INTEGER PRIMARY KEY AUTOINCREMENT,
CharacterID INTEGER,
Title TEXT,
FOREIGN KEY (CharacterID) REFERENCES Characters(CharacterID));
はここで.csvファイル内のデータ
, 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
は、これは私が受け取るエラーです:
sqlite> .mode csv
sqlite> import allegiances.csv Allegiance;
Error: datatype mismatch
各行の最初のコンマの前に "null"がある場合、同じエラーが表示されます。 各行の最初のコンマの前に乱数を追加すると、エラーは発生しません。しかし、私が扱う必要のある実際のデータセットはもっと大きくなる可能性があります。したがって、各エントリに一意のプライマリキーを手動で追加することはできません。
CSVファイル。 SQLiteStudioは、これらのプログラムの1つです。 – Vassilis
@ VassilisGr NULL値を表すテキストはどういう意味ですか? – pouya
@pouya、行が 'pouya、26、NULL'のようなcsvファイルを持っていれば、csvファイルのNULL値が" NULL "文字列で表されるように設定することができます。 'pouya、26、、'の場合、NULLを ""(空文字列)に設定します。あるいは 'pouya、26、0'はNULLで、csvファイルでは" 0 "です! – Vassilis