2011-08-23 51 views
1

我试图插入一些值到MySQL表中,前2个值是字符串,最后是一个布尔值。我的问题是,无论我做什么,我似乎都无法让python/MySQL识别布尔值并插入它。从我可以告诉Python正确地将最后一个值作为一个布尔值,但是MySQL没有看到它是这样的。每次它在表中默认为0。下面是一些伪代码,几乎是我想要做的。用Python插入布尔值到MySQL

conn = MySQLdb.connect(...) 
c = conn.cursor() 
c.execute("INSERT INTO table (name, string, bool) VALUES (%s,%s,%s,(aName,aString,boolVal)) 

回答

1

查看MySQL docs。 “布尔”数据类型将只是0或1.

您看到的行为是预期的。

2

对于Python 2.7和MySQLdb软件包,它适用于我这种方式。对于varchar类型的列,使用%s作为布尔值,编号仅使用%s,%d,%i

INSERT INTO table (string, bool) VALUES ('%s',%s) % ('string',True)