用Python将布尔值插入MySQL
我试图在MySQL表中插入一些值,前两个值是字符串,最后一个是布尔值。我的问题是,无论我做什么,我似乎都无法让python/MySQL识别布尔值并插入它。据我所知,Python正确地将最后一个值设置为布尔值,但MySQL并不这么认为。每次它在表中都默认为0。下面是一些伪代码,这正是我想要做的用Python将布尔值插入MySQL,python,mysql,mysql-python,Python,Mysql,Mysql Python,我试图在MySQL表中插入一些值,前两个值是字符串,最后一个是布尔值。我的问题是,无论我做什么,我似乎都无法让python/MySQL识别布尔值并插入它。据我所知,Python正确地将最后一个值设置为布尔值,但MySQL并不这么认为。每次它在表中都默认为0。下面是一些伪代码,这正是我想要做的 conn = MySQLdb.connect(...) c = conn.cursor() c.execute("INSERT INTO table (name, string, bool) VALUES
conn = MySQLdb.connect(...)
c = conn.cursor()
c.execute("INSERT INTO table (name, string, bool) VALUES (%s,%s,%s,(aName,aString,boolVal))
看。“布尔”数据类型将仅为0或1
您看到的行为是预期的。对于Python 2.7和MySQLdb包,它以这种方式为我工作
'%s'
%s
,%d
,%i
INSERT-INTO-table(string,bool)值('%s',%s)%('string',True)`
如果值为真或假
在python中,可以使用int()
>>> a = True
>>> int(a)
1
>>>
conn = MySQLdb.connect(...)
c = conn.cursor()
c.execute("INSERT INTO table (bool) VALUES (%s)",( int(boolVal),))