试图更改表时出现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)