首页 > 数据库技术 > 详细

string(81) "SQLSTATE[HY000]: General error: 1364 Field 'content' doesn't have a default value"

时间:2019-10-18 23:52:15      阅读:131      评论:0      收藏:0      [点我收藏+]

mysql版本是5.7.26,在插入数据时报错:

string(81) "SQLSTATE[HY000]: General error: 1364 Field ‘content‘ doesn‘t have a default value"

SQL插入语句:

 INSERT INTO `ent_news` (`title` , `small_title` , `catid` , `description` , `source_type` , `image`) VALUES (qq , ‘‘ , 101 , ‘‘ , 0 , ‘‘)

通过:

 show create table ent_news;

分析建表语句,发现content字段是 NOT NULL,截图如下:

技术分享图片

 

 mysql规定,对于 BLOB, TEXT, GEOMETRY 和 JSON,这几种数据类型是不允许有默认值的,本例中content字段并未设置默认值,经过分析,是否是NOT NULL的原因,于是将content字段设置为NULL

alter table ent_news modify column content text null after image;

表结构现修改为:

技术分享图片

 

 再次执行插入语句,插入成功。

还有另外一种解决办法就是修改mysql配置文件,将sql_mode中STRICT_TRANS_TABLES去除掉,这样修改的话可能会造成安全问题,不建议这种修改。

技术分享图片

 

string(81) "SQLSTATE[HY000]: General error: 1364 Field 'content' doesn't have a default value"

原文:https://www.cnblogs.com/goujian/p/11701287.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!