我想将值插入MySQL中的位类型列。但是我收到了数据截断错误。
CREATE TABLE `BITTESTTABLE` (
`db_field` varchar(50) NOT NULL,
`is_editable` bit(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
如果我使用
插入一行 INSERT INTO BITTESTTABLE values('XYZ','0')
我正在
列数据太长,可以使用' is_editable'在第1行
那么如何插入位类型列的数据?
答案 0 :(得分:14)
您应该使用:
INSERT INTO `BITTESTTABLE` VALUES('XYZ', b'0');
答案 1 :(得分:4)
您需要以像INSERT INTO BITTESTTABLE values('XYZ',0);
这样的位格式插入数据。您正在执行values('XYZ','0')
,因此它将作为字符串值。
答案 2 :(得分:4)
由于bit是一个数字而不是字符串,您需要输入
INSERT INTO BITTESTTABLE values('XYZ',0)
答案 3 :(得分:3)
一般来说,对于boolean
或bit
数据类型,您可以使用0或1:
INSERT INTO BITTESTTABLE values('XYZ',0);
答案 4 :(得分:2)