MySQL连接器的python代码中的语法错误是什么?

时间:2019-12-16 16:31:17

标签: python mysql mysql-connector-python

这是一个通过 mysql-connector 在MySQL中创建表的python代码。但是在将 datetime 数据类型分配给字段时,它显示 ProgrammingError

import mysql.connector as sqltor
from datetime import datetime
mycon = sqltor.connect(host='localhost',database='linkbook',user='root',passwd='****')
cursor = mycon.cursor()

cursor.execute("CREATE TABLE IF NOT EXISTS account\
               (UserID varchar(10) Primary Key, \
               Firstname varchar(15), \
               Lastname varchar(15), \
               Password varchar(10), \
               Links_Posted int DEFAULT 0)")

cursor.execute("CREATE TABLE IF NOT EXISTS linkbook \
               (UserID varchar(10), \
               Links varchar(50), \
               Description varchar(100), \
               Tag varchar(15), \
               date_time datetime)")

cursor.execute("CREATE TABLE IF NOT EXISTS edu_links\
               (UserID varchar(10) \
               Link varchar(50), \
               Description varchar(100), \
               date_time datetime)")   #Error in this line
Exception has occurred: ProgrammingError
1064 (42000): 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 'Link varchar(50),                Description varchar(100),                date_t' at line 1

请帮助您获取正确的语法。谢谢。

1 个答案:

答案 0 :(得分:1)

如果您仔细查看最后一个cursor.execute方法调用,则会发现在 UserID varchar(10)之后缺少逗号。然后,使用以下参数值更改最终的cursor.execute调用:

    cursor.execute("CREATE TABLE IF NOT EXISTS edu_links\
           (UserID varchar(10), \
           Link varchar(50), \
           Description varchar(100), \
           date_time datetime)")