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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...