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