2013-03-13 75 views
0

我在尝试创建此表时遇到了一个奇怪的错误....当我追踪它时,我在第5行没有任何内容?任何人都可以帮助我如何跟踪这个错误?SQL/Python创建表错误

导入设置 进口mysql.connector 从数据库导入login_info 进口日期时间为DT

def main(): 
    db = mysql.connector.Connect(**login_info) 
    cursor = db.cursor() 
    sql =('DROP TABLE IF EXISTS messages') 
    cursor.execute(sql) 
    db.commit() 

message_table = """\ 
    CREATE TABLE messages(
     msgID INTEGER AUTO_INCREMENT PRIMARY KEY, 
     message VARCHAR(500) DEFAULT NULL, 
     subject VARCHAR(500) DEFAULT NULL, 
     )""" 
cursor.execute(message_table) 
db.commit() 

错误== mysql.connector.errors.ProgrammingError:1064:您在您的SQL语法错误;检查对应于你的MySQL服务器版本的手册,在第5行'''附近使用正确的语法。

我可以在交互式窗口中连接SQl没问题。

+1

结束移除,您可能需要您目前由于支架经历一轮(“DROP TABLE IF EXISTS消息”) – George 2013-03-13 16:01:18

+0

语法错误一前一后另一个问题:最后一个字段定义后的逗号。逗号是为了分离表(字段,索引等)的定义元素...请务必记得检查文档(在这种情况下,MySQL文档:数据定义语句:CREATE)。错误信息甚至会给你提示错误发生的位置。 – Barranka 2013-03-13 16:38:29

回答

1

尝试在第4行

+0

之后第一个NULL? – 2013-03-13 15:58:57

+1

最后一个NULL后。我认为在最后一个字段声明之后,你不允许有一个尾随的','。 – 2013-03-13 16:01:08