我在python中使用MySQLdb,但无法使用主键或外键创建表。由于以下工作,我可以创建一个表:

theconn = mdb.connect('localhost', 'root', 'pw', 'db')
theDB = theconn.cursor();
theDB.execute("CREATE TABLE hf_aum_returns ( \
    FundID INT NOT NULL , \
    Metric_Type CHAR(10) , \
    Metric_Value FLOAT , \
    DateTime DATE )")


但是,当我运行以下行时:

theDB.execute("CREATE TABLE hf_aum_returns_2 ( \
    FundID INT NOT NULL , \
    Metric_Type CHAR(10) , \
    Metric_Value FLOAT , \
    DateTime DATE , \
    CONSTRAINT returns_pk PRIMARY KEY ( FundID , Metric_Type , Metric_Value , DateTime )")


我收到一个错误,告诉我检查语法:

_mysql_exceptions.ProgrammingError: (1064,
"You have an error in your SQL syntax;
check the manual that corresponds to your
MySQL server version for the right syntax to use near '' at line 1")

最佳答案

啊。我不聪明。声明末尾缺少括号。 (...盯着它看了一个小时...)

10-04 16:27