找回密码
 立即注册
查看: 3|回复: 1

MySql报错SQLSTATE「HY000」:General error: 1364 Field‘xxxxx‘doesn‘t have a de

[复制链接]

184

主题

4

回帖

659

积分

超级版主

积分
659
发表于 2024-11-10 10:11:51 | 显示全部楼层 |阅读模式
MySql报错SQLSTATE「HY000」:General error: 1364 Field‘xxxxx‘doesn‘t have a default value

网站上传文件时,一直报错无法上传
SQLSTATE[HY000]: General error: 1364 Field 'xxxxx' doesn't have a default value
确定报错就是MySQL使用了严格验证方式,找到数据库安装目录的my.ini这个文件,老版本可以找my.cnf



解决方法: 直接把sql-mode模式改变下,版本不同具体的可能不一样,找到sql-mode 就好
把这句注释掉 #sql-mode="STRICT TRANS TABLES,NO AUTO CREATE USER,NO ENGINE SUBSTITUTION"


新写一句:sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
最后重启数据库就可以了



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

184

主题

4

回帖

659

积分

超级版主

积分
659
 楼主| 发表于 2024-11-10 10:12:05 | 显示全部楼层
数据库严格模式开启了,解决方法:

解决方法一:(足够用了)

在数据库中对报错的字段设置默认值, 整数:0 ,字符串:设为NULL,

找到对应的表--->设计表--->默认选择框(设置默认值)

   

解决方法二:

MYSQL安装目录--->搜索打开my.ini,查找

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

   

修改为

   

sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

   

然后重启MYSQL
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|源码虫 源码论坛 免费下载 ( 鄂ICP备15021867号-1 )

GMT+8, 2024-11-21 14:45 , Processed in 0.203125 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表