[英]Did I set this relational database up correctly (python, sqlite3)
我正在尝试建立一个连接3个不同表的关系数据库。 主程序数据库包含供应商,这些供应商链接到每个供应商的发票,然后该发票链接到该发票中购买的物料。
tempcur.execute("""CREATE TABLE program (
vendorid INTEGER PRIMARY KEY,
vendor TEXT,
phone TEXT,
store INTEGER)""")
tempcur.execute("""CREATE TABLE dairystore (
invoice INTEGER REFERENCES program(vendorid),
date VARCHAR)""")
tempcur.execute("""CREATE TABLE invoices(
item INTEGER REFERENCES dairystore(invoice),
shipped VARCHAR,
description TEXT,
weight INTEGER,
price INTEGER,
amount INTEGER)""")
不,您在dairystore
表中有一个错误。 应该是以下内容:
CREATE TABLE dairystore (
invoice INTEGER PRIMARY KEY,
vendor INTEGER REFERENCES program(vendorid),
date VARCHAR
)
您正在尝试从invoices
表中引用dairystore.invoice
,因此dairystore.invoice
必须是记录的ID。 在您的代码中, dairystore.invoice
不能是记录的ID,因为它是对program.vendorid
引用,并且其值将等于program
表中记录的ID。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.