我在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")
答案 0 :(得分:0)
唉。我不聪明。在陈述结尾处错过了一个括号。 (......盯着它看了一个小时......)
答案 1 :(得分:0)
您缺少一个括号:
尝试:
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))