我试图在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;

Database相关问答推荐

TYPO3 OOPS,出现错误!编码:202402180809040864ba5c

用于存储人与聊天消息的数据库设计

在 SQL Server 中找出调用存储过程

Spring Data JPA 对 SQL 注入安全吗

sql-dump 有什么用?

什么是hibernate annotated类中使用的 catalog?

时间数据库设计,有一个转折(live vs draft rows)

在 model.save() 中处理竞争条件

如何开始使用 SQLCipher for android?

使用 SQLAlchemy Core 批量插入列表值

为什么null不等于null false

如果我 for each 用户随机设置 SALT,我如何对他们进行身份验证?

当可伸缩性无关紧要时,NoSQL 与 SQL

主键、唯一键和外键约束以及索引之间有什么区别?

在 iphone 上本地存储数据

有人可以详细解释 SOLR requestHandlers 和 responseWriters 吗?

如何从 PostgreSQL 数据库中的文本文件加载数据?

用 SQL 进行条件插入?

xampp phpmyadmin,格式参数不正确

Oracle order NULL LAST 默认