sqlite3.OperationalError: "REFERENCES" 附近的语法错误 - 外键创建

0 投票
1 回答
6575 浏览
提问于 2025-04-16 14:45

我正在尝试创建一个外键。查看了手册后,我写了以下代码:

db.execute("create table if not exists table1 (id integer PRIMARY KEY, somedata integer)")
db.execute("create table if not exists table2 (names text, REFERENCES maintable (id)")

结果却出现了这个错误:

sqlite3.OperationalError: 在 "REFERENCES" 附近:语法错误

我错过了什么呢?我该如何创建外键?谢谢。

我的sqlite版本是3.7.4

1 个回答

2

你的第二行写错了,应该是这样:

db.execute("create table if not exists table2 (names text,my_id integer, FOREIGN KEY(my_id) REFERENCES maintable (id))")

具体解释可以参考这个链接:http://www.sqlite.org/foreignkeys.html#fk_basics

撰写回答