我希望在MySQL数据库中将我的值保存为布尔类型。但是无论如何,我都不能够实现这个目的,MySQL自动将它保存为tinyInt类型。另外,请告诉我布尔类型的默认值以及我们如何传递这些值?
我希望在MySQL数据库中将我的值保存为布尔类型。但是无论如何,我都不能够实现这个目的,MySQL自动将它保存为tinyInt类型。另外,请告诉我布尔类型的默认值以及我们如何传递这些值?
在MySQL中,BOOLEAN
类型是TINYINT
的同义词。没有专门的BOOLEAN
类型。
可以接受的值是TINYINT
的值,即0表示假,1-255(最好为1)表示真。
MySQL 实际上没有 BOOLEAN 类型,如果创建 BOOLEAN 列,则实际上是 TINYINT。
然而,将 TINYINT 视为布尔值并不太成问题,如果您将 0 视为 false,非 0 值视为 true,则可以正常使用。在 PHP 中,类似于 if ($column)
的语句将在 $column 是除了 0 或能被解释为 0 的任何值时返回 true。如果需要明确地将其转换为布尔值,可以通过 $column = ($column != 0);
轻松完成。
我需要听到这个。我在想如何在MYSQL中设置布尔字段。
但是看到只支持tinyint,我在Python中将布尔值转换为整数,然后再将它们插入数据库。
is_holiday = 0
if row[4] != 'FALSE':
is_holiday = 1
# insert a record into DB
cursor.execute("INSERT into sales(store, department, date, weekly_sales, is_holiday) VALUES(%s, %s, %s, %s, %s)", (row[0], int(row[1]), sales_date, float(row[3]), is_holiday))
DECIMAL
和NUMERIC
。 - Mchl