Foreign keys not working - sqlite3.OperationalError: unknown column "user_id" in foreign key definition
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)
)
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)
)