[英]How to create primary and foreign keys in SQL when using sqlite3 for Python?
I tried to create two tables, car_main, and car_info.我尝试创建两个表,car_main 和 car_info。 car_main has a primary and foreign key, car_id and model_id, respectively.
car_main 有一个主键和一个外键,分别是 car_id 和 model_id。 car_info has two foreign keys, car_id and 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()```
Your foreign key statement makes no sense because you are referencing the same table您的外键语句没有意义,因为您引用的是同一张表
model_id INTEGER FOREIGN KEY REFERENCES car_main(car_id)
probably you need可能你需要
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.