MySQL枚举只能插入字符串不能插入整数

MySQL中插入数据突然发生错误,只有两行插入执行成功了,其他未插入数据中。

执行语句:

INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic3',0,NOW());
INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic4',0,NOW());
INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic5',1,NOW());
INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic6',2,NOW());
INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic7',0,NOW());
INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic8',0,NOW());

执行结果信息:

mysql> INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic3',0,NOW());
ERROR 1265 (01000): Data truncated for column 'status' at row 1
mysql> INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic4',0,NOW());
ERROR 1265 (01000): Data truncated for column 'status' at row 1
mysql> INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic5',1,NOW());
tatus`,date_recorded) VALUES('devic6',2,NOW());
INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic7',0,NOW());
INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic8',0,NOW());Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic6',2,NOW());
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic7',0,NOW());
ERROR 1265 (01000): Data truncated for column 'status' at row 1
mysql> INSERT INTO device(`code`,`status`,date_recorded) VALUES('devic8',0,NOW());commit;
ERROR 1265 (01000): Data truncated for column 'status' at row 1
Query OK, 0 rows affected (0.00 sec)

以下是表结构:

/*设备表*/
DROP TABLE IF EXISTS device;
CREATE TABLE device(
    id INT(32) PRIMARY KEY NOT NULL AUTO_INCREMENT COMMENT '设备id,主键',
    `code` VARCHAR(128) UNIQUE NOT NULL COMMENT '设备唯一码',
    `status` ENUM('0','1','2') NOT NULL DEFAULT '2' COMMENT '设备状态,2未连接,0关,1开',
    date_recorded DATETIME NOT NULL COMMENT '录入时间'
)ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT='设备表';

问题所在:
status类型是enum类型,插入时却是int,之所以能有两句成功应该是mysql的bug。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值