数据库 – 使用自动增量主键将csv导入sqlite

前端之家收集整理的这篇文章主要介绍了数据库 – 使用自动增量主键将csv导入sqlite前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在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”,我会收到相同的错误.
当我在每行之前的第一个逗号之前添加随机数字时,我没有收到任何错误.但是,我需要使用的实际数据集可能会更大,因此,我不能简单地手动添加每个条目的唯一主键.我真的很感激一些帮助

解决方法

CSV文件中的空字段只是一个空字符串,对INTEGER PRIMARY KEY列无效.

导入到没有该列的临时表中,然后复制数据:

INSERT INTO Allegiance(CharacterID,Title) SELECT * FROM TempTable;

猜你在找的MsSQL相关文章