【发布时间】:2016-11-08 11:14:26
【问题描述】:
我第二次执行此脚本(这些表以前存在)并且收到外键约束失败错误。我是 Sqlite3 的初学者,无法找出背后的原因。
Schema.sql
PRAGMA foreign_keys = 1;
drop table if exists user;
create table user(uid integer primary key autoincrement,
username text not null,
password text not null,
email text not null,
isadmin integer default 0);
drop table if exists asset;
create table asset(aid integer primary key autoincrement,
assetname text not null,
releasedate text,
owner integer default 0,
isreserved integer default 0,
foreign key(owner) references user(uid) on delete set default);
我正在用 Python 脚本读取这个文件。
错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "main.py", line 37, in create_table
conn.cursor().executescript(f.read())
sqlite3.IntegrityError: foreign key constraint failed
【问题讨论】:
-
为我工作。您的表格是否包含数据?
-
是的,这是导致错误的原因吗?