csv ファイルからデータを取得し、自動インクリメントの主キーを最初の列に追加するテーブルを sqlite で作成しようとしています。データを挿入しようとしているテーブルは次のとおりです。
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」があると、同じエラーが発生します。各行の最初のカンマの前に乱数を追加しても、エラーは発生しません。ただし、使用する必要がある実際のデータセットははるかに大きい可能性があるため、各エントリに一意の主キーを手動で単純に追加することはできません。私は本当にこれでいくつかの助けをいただければ幸いです