我正在为一个站点设计一个数据库,在该站点中,我需要使用布尔日期类型来仅存储2个状态,即true或false。我正在使用MySQL。 在使用phpMyAdmin设计数据库时,我发现我同时拥有BOOLEAN数据类型和TINYINT数据类型。 我浏览了不同的文章,有人说TINYINT与BOOLEAN相同,没有区别。有人说BOOLEAN在MySQL中转换为TINYINT。
我的问题是,如果两者相同,为什么会有两个?应该只有其中之一。
这是我阅读的文章的参考: http : //www.careerride.com/MySQL-BOOL-TINYINT-BIT.aspx http://dev.mysql.com/doc/refman/5.5/en/numeric-type -overview.html
MySQL没有内部布尔数据类型。它使用最小的整数数据类型-TINYINT。
BOOLEAN和BOOL是TINYINT(1)的等效项,因为它们是同义词。
尝试创建此表-
CREATE TABLE table1 ( column1 BOOLEAN DEFAULT NULL );
然后运行SHOW CREATE TABLE,您将获得以下输出-
CREATE TABLE `table1` ( `column1` tinyint(1) DEFAULT NULL )