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