微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据库 – 使用自动增量主键将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;

原文地址:https://www.jb51.cc/mssql/75418.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐