2012-05-24 76 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,))