2011-03-30 104 views
0

我试图创建一个外键。检查手册12出来后,我写了这个:sqlite3.OperationalError:在“REFERENCES”附近:语法错误 - 创建外键

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: near "REFERENCES": syntax error

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

sqlite_version是3.7.4

回答

2

你的第二个LIGNE错了,它应该是

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

+0

我想这说明,它没有工作过。现在我得到了“sqlite3.OperationalError:near”)“:语法错误” – fogbit 2011-03-30 17:31:20

+1

你错过了最后的括号 – 2011-03-30 17:32:28

+0

的确。谢谢,问题解决了。我需要更加细心。 – fogbit 2011-03-30 17:36:28

相关问题