我正在尝试在sqlite中创建一张表格,从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”,我会收到相同的错误。当我在每行的第一个逗号之前添加随机数时,就不会出现任何错误。但是,我需要处理的实际数据集可能会更大,因此,我无法简单地手动添加唯一的主键以供每个条目使用。我真的很感激得到一些帮助。
pouya, 26, NULL
,你可以设置在你的CSV文件中,NULL值由字符串"NULL"表示。对于pouya, 26,,
的情况,你应该将NULL设置为空字符串""。或者对于pouya, 26, 0
,在CSV文件中,NULL值为"0"! - Vassilis