我有以下代码:
with sqlite3.connect('notDataBase1.db') as db:
cursor = db.cursor()
sql = """CREATE TABLE OrderDetails
(OrderDetailsID INTEGER,
OrderID INTEGER,
ProductID INTEGER,
PRIMARY KEY(OrderDetailsID),
FOREIGN KEY(OrderID REFERENCES
Orders(OrderID)),
FOREIGN KEY(ProductID REFERENCES
Products(ProductID)))"""
cursor.execute(sql)
哪个给我错误:
sqlite3.OperationalError:“ REFERENCES”附近:语法错误
我不确定这段代码昨天对我有用,但是此后就停止了工作。
有什么想法吗?
谢谢。
答案 0 :(得分:0)
您的DB是否有“订单和产品”表?
CREATE TABLE `OrderDetails` (
`OrderDetailsID ` INTEGER,
`OrderID ` INTEGER,
`ProductID ` INTEGER,
FOREIGN KEY(`ProductID `) REFERENCES `Products`(`ProductsID`),
FOREIGN KEY(`OrderID `) REFERENCES `Orders`(`OrdersID`),
PRIMARY KEY(`OrderDetailsID `)
);
上面的sql可以正常工作,我认为您的错误来自外键部分,不好意思是英语。如您所见,“引用”部分必须在“外键”属性之外。试试看,告诉我。
祝你愉快