试图更改表时出现Python MySQLdb错误
我试图改变一个数据库,但我不确定确切的语法,我有困难找到它在线。给出错误的行是:试图更改表时出现Python MySQLdb错误,python,mysql,sql,syntax,Python,Mysql,Sql,Syntax,我试图改变一个数据库,但我不确定确切的语法,我有困难找到它在线。给出错误的行是: cur.execute("ALTER TABLE Units ADD FOREIGN KEY(pnid), REFERENCES Basic(pnid)) ") 错误是 ProgrammingError:(1064,“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第1行“REFERENCES Basic(pnid))”附近使用的正确语法”) 正如docs所说,您没有使用正确的语法来添
cur.execute("ALTER TABLE Units ADD FOREIGN KEY(pnid), REFERENCES Basic(pnid)) ")
错误是
ProgrammingError:(1064,“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第1行“REFERENCES Basic(pnid))”附近使用的正确语法”)
正如docs所说,您没有使用正确的语法来添加外键
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));
删除
引用之前的逗号,
,如下所示
ALTER TABLE Units ADD FOREIGN KEY(pnid), REFERENCES Basic(pnid)
<--Here
ALTER TABLE Units ADD FOREIGN KEY(pnid) REFERENCES Basic(pnid)