簡體   English   中英

使用sqlite3 for Python時如何在SQL中創建主鍵和外鍵?

[英]How to create primary and foreign keys in SQL when using sqlite3 for Python?

我嘗試創建兩個表,car_main 和 car_info。 car_main 有一個主鍵和一個外鍵,分別是 car_id 和 model_id。 car_info 有兩個外鍵,car_id 和 model_id。


connection = sqlite3.connect("TutorialDB.db")
crsr = connection.cursor()
sql_command = """CREATE TABLE car_main (
car_id INTEGER PRIMARY KEY,
model_id INTEGER FOREIGN KEY REFERENCES car_main(car_id),
);"""
crsr.execute(sql_command)
sql_command = """CREATE TABLE car_info (
car_id INTEGER FOREIGN KEY REFERENCES car_main(car_id),
model_id INTEGER FOREIGN KEY REFERENCES car_main(model_id),
year INTEGER,
price INTEGER,
used BOOLEAN
);"""
crsr.execute(sql_command)
connection.close()```

您的外鍵語句沒有意義,因為您引用的是同一張表

model_id INTEGER FOREIGN KEY REFERENCES car_main(car_id)

可能你需要

CREATE TABLE car_info (
    model_id INTEGER PRIMARY KEY,
    year INTEGER,
    price INTEGER,
    used BOOLEAN
);

CREATE TABLE car_main (
    car_id INTEGER PRIMARY KEY,
    model_id INTEGER,
    FOREIGN KEY(model_id) REFERENCES car_info(model_id)
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM