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


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去除掉,這樣修改的話可能會造成安全問題,不建議這種修改。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM