1
我遇到蟒蛇問題,當我嘗試插入NULL
到使用準備MySQLdb的語句字段中插入NULL。問題是python不喜歡沒有引號的NULL
,然後MySQL不喜歡帶引號的'NULL'
;所以我試圖找到一種插入NULL
的方法,python和MySQL都允許。這是我的情景:蟒蛇MySQLdb的使用事先準備好的聲明
sqlFailInsert = """INSERT INTO efix_headers (PathID) VALUES (%s);"""
//then later in my code
failcur = self.db.query(self.sqlFailInsert, (pathID if pathID else NULL))
這產生的一個python錯誤:global name 'NULL' is not defined
但是當我使用:pathID if pathID else 'NULL'
的MySQL把它當作一個字符串(順便說一下,PATHID字段是整型字段)和值進入0
(因爲它應該,如果你輸入一個字符串到一個int字段)。
所以,我的問題是,我怎麼能使用準備好的聲明中插入NULL
到整型字段,不違反規則的蟒蛇?
和MySQL將評估 '無' 自動NULL? – sadmicrowave
是的。 「SQL NULL值由輸入和輸出上的Python None單獨表示」。更多信息,請訪問:http://www.python.org/dev/peps/pep-0249/ – GreyZmeem