2011-08-23 108 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)