2012-05-24 61 views
3

我想用python脚本将NULL值插入到MySQL数据库int字段中。 NOT NULL在字段中关闭,所以它不是。我手动插入一个NULL值到数据库中,并且工作正常,如果我将文字值放在None的位置,我的代码就可以正常工作。Python MySQL插入NULL(无)值错误

我看了几个人的例子,如何做到这一点,据我所知,在语法上没有错。

代码:

length2 = None 

cursor.execute("INSERT INTO tableName(Length) VALUES(%s)", length2) 

错误:

Error 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 
'%s)' at line 1 

任何想法?

+0

你应该初始化长度2至“NULL”,而不是无。 –

+2

“execute()”的第二个参数应该是一个元组(或列表)。请更改为'cursor.execute(“INSERT INTO tableName(Length)VALUES(%s)”,(length2,))'并返回。 – bernie

+0

这表示感谢!没有意识到你需要一个,第一个项目后,使其成为一个列表 – user1415944

回答

4

​​的第二个参数应该是元组(或列表)。
请更改您的代码:

cursor.execute("INSERT INTO tableName (Length) VALUES (%s);", (length2,))