[英]sqlite3.OperationalError: near “REFERENCES”: syntax error - foreign key creating
[英]Foreign keys not working - sqlite3.OperationalError: unknown column “user_id” in foreign key definition
sqlite3.OperationalError:外键定义中的未知列“user_id”
# create details table
details_table = """CREATE TABLE IF NOT EXISTS
details(
user_id INTEGER PRIMARY KEY,
first_name TEXT,
surname TEXT,
role TEXT,
make TEXT,
model TEXT,
colour TEXT,
reg TEXT)"""
cursor.execute(details_table)
# create booking table
booking_table = """CREATE TABLE IF NOT EXISTS
booking(
booking_id INTEGER PRIMARY KEY,
FOREIGN KEY (user_id) REFERENCES details(user_id),
start_date TEXT,
expiry_date TEXT)"""
cursor.execute(booking_table)
非常感谢任何帮助:)
您需要先声明列,然后定义外键约束:
CREATE TABLE IF NOT EXISTS booking (
booking_id INTEGER PRIMARY KEY,
user_id INTEGER,
----^ your code is missing this declaration
start_date TEXT,
expiry_date TEXT,
FOREIGN KEY (user_id) REFERENCES details(user_id)
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.