码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2019-10-19 00:38:11      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:int   into   原因   create   des   ati   数据类型   技术   mic   

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"

标签:int   into   原因   create   des   ati   数据类型   技术   mic   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!