Python DDL错误SQLite2

Python DDL错误SQLite2,python,sql,sqlite,ddl,Python,Sql,Sqlite,Ddl,我正在尝试创建两个表。一个称为产品,另一个称为供应商。我没有收到任何错误,但每当我打开数据库(SQLITE)时,只有供应商表,但产品表丢失。请帮忙,这是我目前的代码 import sqlite3 conn = sqlite3.connect('work2423') print("Database has been opened successfully") DDL = '''CREATE TABLE PRODUCT (ProductCode VARCHAR(15),

我正在尝试创建两个表。一个称为产品,另一个称为供应商。我没有收到任何错误,但每当我打开数据库(SQLITE)时,只有供应商表,但产品表丢失。请帮忙,这是我目前的代码

import sqlite3

conn = sqlite3.connect('work2423')
print("Database has been opened successfully")

DDL = '''CREATE TABLE PRODUCT 
        (ProductCode VARCHAR(15),
         ProductName VARCHAR(35),
         SupplierID VARCHAR(4) PRIMARY KEY,
         CostPrice VARCHAR(6),
         SellPrice VARCHAR(6),
         QuantityStock INTEGER,
         ReorderLevel INTEGER)'''


DDL = '''CREATE TABLE SUPPLIER 
        (SupplierID VARCHAR(4) REFERENCES PRODUCT(SupplierID),
         SupplierName VARCHAR(25),
         TelNo VARCHAR(12),
         Email VARCHAR(25))'''

conn.execute(DDL)

谢谢。

您分配了两次DDL。第一个“创建表产品…”。。。被第二个“创建表供应商”覆盖。。。我建议在第一次DDL分配后立即调用conn.execute(DDL)。保留对conn.execute的第二个调用,因为这两个SQL语句都需要执行。

您分配了两次DDL。第一个“创建表产品…”。。。被第二个“创建表供应商”覆盖。。。我建议在第一次DDL分配后立即调用conn.execute(DDL)。保留对conn.execute的第二个调用,因为这两个SQL语句都需要执行。

如果要覆盖DDL变量,可能需要将其两者连接起来(使用“;”分隔符)。有趣的是,它可以创建一个引用不存在的表和列的表…只需BTW覆盖DDL变量,您可能希望将两者连接起来(使用“;”分隔符)。有趣的是,它可以创建一个引用不存在的表和列的表…只是btwThanks,我这样做了,它成功了。我非常感谢你的帮助。谢谢,我做到了,而且成功了。我非常感谢你的帮助。