我正在尝试更改数据库,但是我不确定确切的语法,并且在网上找不到它。给出错误的行是:
cur.execute("ALTER TABLE Units ADD FOREIGN KEY(pnid), REFERENCES Basic(pnid)) ")
错误是
ProgrammingError:(1064,“您的SQL语法有错误;请在第1行的'REFERENCES Basic(pnid)''附近检查与您的MySQL服务器版本相对应的手册以使用正确的语法”))
最佳答案
您未按照文档所述使用正确的语法添加外键
ALTER TABLE tbl_name
ADD [CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name, ...)
REFERENCES tbl_name (index_col_name,...)
[ON DELETE reference_option]
[ON UPDATE reference_option]
在
REFERENCES
删除逗号之前,您要加上多余的逗号ALTER TABLE Units ADD FOREIGN KEY(pnid) REFERENCES Basic(pnid));
Using FOREIGN KEY Constraints
关于python - 尝试更改表时出现Python MySQLdb错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25025970/