CREATE TABLE test_table ( id INT(11) NOT NULL AUTO_INCREMENT, is_active BOOL NOT NULL DEFAULT false, PRIMARY KEY (id) );
在上面的代码示例中,大家创建了一个 test_table 表并定义了一个名为 is_active 的 bool 类型列。它被设置为 Not Null,并默认值为 false,它既可以被设置为 true,也可以被设置为 false。
当你插入值到一个 bool 类型的列时,你可以使用以下任何语法:
INSERT INTO test_table (is_active) VALUES (true); INSERT INTO test_table (is_active) VALUES (1); INSERT INTO test_table (is_active) VALUES (false); INSERT INTO test_table (is_active) VALUES (0);
在查询一个 bool 类型的列时,你可以使用以下语法:
SELECT id, is_active FROM test_table WHERE is_active = true; SELECT id, is_active FROM test_table WHERE is_active = 1; SELECT id, is_active FROM test_table WHERE is_active = false; SELECT id, is_active FROM test_table WHERE is_active = 0;
在 MySQL 中,bool 类型还有一些有用的函数。例如,以下语句检查 is_active 列是否为 true:
SELECT id, is_active, IF(is_active, 'active', 'inactive') AS status FROM test_table;
以上代码将查询 test_table 中的所有记录,并为 is_active 列返回自定义状态字符串,该字符串基于列的值。
总之,使用 MySQL bool 类型会让你的代码更加清晰和易读。通过使用 0 和 1 分别表示 false 和 true,大家可以很容易地检查某个列是否为 true,并为布尔值列提供有意义的默认值。