我想将值插入MySQL中的位类型列.但我收到数据截断错误.
CREATE TABLE `BITTESTTABLE` (
`db_field` varchar(50) NOT NULL,
`is_editable` bit(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)
如果我插入一行
INSERT INTO BITTESTTABLE values('XYZ','0')
我正进入(状态
第1行的列'is_editable'的数据太长
那么如何插入位类型列的数据?
小智 17
你应该使用:
INSERT INTO `BITTESTTABLE` VALUES('XYZ', b'0');
Run Code Online (Sandbox Code Playgroud)
由于bit是数字而不是字符串,因此您需要像这样输入
INSERT INTO BITTESTTABLE values('XYZ',0)
Run Code Online (Sandbox Code Playgroud)
可以直接使用true/false;但我不确定这是否与 MySQL 本身或 InnoDB 有关:示例:
INSERT INTO BITTESTTABLE values('XYZ',false);
INSERT INTO BITTESTTABLE values('XYZ',true);
Run Code Online (Sandbox Code Playgroud)
确保尝试运行:
SELECT TRUE , FALSE ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33657 次 |
| 最近记录: |