MySQL General error: 1364 Field 'XXX' doesn't have a default value
向数据库中插入数据时报了以上错误,其原因为: MySQL使用了严格验证方式
解决办法
- mysql设置的问题,有
my.ini
的就找这个文件,没有的就找my.cnf
(这个一般都在/ect/my.conf
) - 直接把
[mysqld]
模块下的sql-mode
模式改变下,找到sql-mode,然后把这句删掉,改成:sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ;;(逗号前后禁止有空格)
- 重启数据库
xampp
中MySQL数据库的设置方式如下:
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION
log_bin_trust_function_creators=1
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了