BOOL 是 TINYINT(1) 的别名,它接受 5 和 -1
就像接受 1 一样轻松,并原样返回它们。vsql_boolean 添加了一个
STRICTBOOL 列类型,它存储一个字节,只保存两个值。
安装
如果您使用安装脚本、Docker 镜像或发行版压缩包安装了 VillageSQL,vsql_boolean.veb 已经位于服务器的 lib/veb/ 目录中。
用一条语句将它安装到服务器中:
新增内容
STRICTBOOL 类型
STRICTBOOL 列接受字符串 'true'/'false'、't'/'f'、
'yes'/'no'、'on'/'off' 和 '1'/'0',不区分大小写。请以字符串
形式传入:裸数字会被拒绝。无论以哪种形式写入,它都读回为 true 或
false,并且占用一个字节。
函数
示例
接受的拼写之外的任何值都会在插入时被拒绝:
INSERT INTO flags VALUES (5, 'eps', 'maybe') 失败并报
ERROR 1366 (HY000): Incorrect STRICTBOOL value: 'maybe' for column 'active' at row 1。不加引号的 1 同样失败,报
ERROR 3219 (HY000): Incorrect STRICTBOOL value: '1' for column 'active' at row 1。另请参阅
- MySQL 中真正的布尔值 — 迁移 TINYINT(1) 列,以及聚合函数如何处理 NULL
- 选择数据类型 — 更窄的类型何时值得使用
- 安装扩展 —
INSTALL EXTENSION如何工作,以及服务器在哪里查找包 - 可用扩展 — 完整目录
- villagesql/vsql-boolean — 源代码、构建说明和已知限制