我正在嘗試在sqlite中創建一個從csv文件獲取數據並向第一列添加自動增量主鍵的表。 這裏是我嘗試將數據插入到表:用自動增量主鍵將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」,我會收到同樣的錯誤。 當我在每行的第一個逗號前添加隨機數字時,我沒有收到任何錯誤。但是,我需要使用的實際數據集可能會更大,因此,我不能簡單地爲每個條目手動添加唯一的主鍵。我真的很感謝這個幫助
如果使用第三方程序,你可能需要設置代表的NULL值的文本選項您csv文件。 SQLiteStudio是這些程序之一。 – Vassilis
@VassilisGr表示NULL值的文本是什麼意思? – pouya
@pouya,如果你有一個csv文件,一行就像'pouya,26,NULL',你可以設置你的csv文件中的NULL值由「NULL」字符串表示。如果是'pouya,26,',你可以設置NULL是「」(空字符串)。或者'pouya,26,0'在csv文件中NULL是「0」! – Vassilis