如题,我在一张表里设计了这样一张字段,枚举集合为('used','receive','invalid','deleted')
,设置了默认字段receive,并且设置非空,sql语句如下:
`status` enum('used','receive','invalid','deleted') CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT 'receive' COMMENT '使用状态'
当我在实际插入数据的时候,并没有去设置这个字段的值,结果是插入可以成功,但是查看插入数据的时候,发现这个字段的值为空,难道我设置了默认值,他不会自动把receive填充进去的吗?还有我之前设置了非空,那个字段显示为空,但是竟然插入成功了,这是为什么呢?
插入的时候不写该字段就行了呀~ 不要写insert into tb values(1,2,3,null);而应该写insert into tb (a,b,c) values(1,2,3),这样的话status就会被插入默认值receive了
你是不是用了ORM,去看下你的ORM中的model有没有配置默认值
把你show create table的结果贴出来
把你插入失败的sql语句贴出来