MySql报错SQLSTATE「HY000」:General error: 1364 Field‘xxxxx‘doesn‘t have a de
MySql报错SQLSTATE「HY000」:General error: 1364 Field‘xxxxx‘doesn‘t have a default value网站上传文件时,一直报错无法上传
SQLSTATE: 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
最后重启数据库就可以了
数据库严格模式开启了,解决方法:
解决方法一:(足够用了)
在数据库中对报错的字段设置默认值, 整数: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
页:
[1]