ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Field * doesn‘t have a default value解决办法 # mysql设置text字段为not null,并且没有默认值,插入报错:doesn't have a default value 发现text字段在创建的时候,语法为: ~~~sql //创建字段abstract为text类型,默认为not null ALTER TABLE `表名` ADD COLUMN `abstract` text not null after `content`; ~~~ 个创建语句乍一看没有问题,但是如果text类型既没有默认值,也不能为null的话,那么插入的时候,肯定是会出现问题的 **解决方案1 去掉not null 限制** 按照上面的推测逻辑,重新修改字段属性: ~~~sql //这里修改abstart字段的类型为text类型,去掉了not null ALTER TABLE `表名` modify COLUMN `abstract` text; ~~~ 解决方法2:去掉严格模式 (5.7之后,数据库默认都是采用严格模式)。 ``` //Linux 配置文件 my.cnf //Windows 配置文件 my.ini //去掉sql-mode后面的 STRICT_TRANS_TABLES ```