繁体   English   中英

我是否正确设置了此关系数据库(python,sqlite3)

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

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