繁体   English   中英

外键不起作用 - sqlite3.OperationalError:外键定义中的未知列“user_id”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM