欧众直播-MySql数据库报错SQLSTATE[HY000]: General error: 1364 Field ‘xxxxx‘ doesn‘t have a default value解决方案

{“error”:false,”text”:”http:\/\/xxx.xxx.xxx.xxx\/admin\/index”}
🙁

SQLSTATE[HY000]: General error: 1364 Field ‘activity_num’ doesn’t have a default value
错误位置
FILE: /www/wwwroot/xxx.xxx.xxx.xxx/ThinkPHP/Library/Think/Db/Driver.class.php  LINE: 342

TRACE
#0 /www/wwwroot/xxx.xxx.xxx.xxx/ThinkPHP/Library/Think/Db/Driver.class.php(342): PDOStatement->execute()
#1 /www/wwwroot/xxx.xxx.xxx.xxx/ThinkPHP/Library/Think/Db/Driver.class.php(947): Think\Db\Driver->execute(‘INSERT INTO `yy…’, false)
#2 /www/wwwroot/xxx.xxx.xxx.xxx/ThinkPHP/Library/Think/Model.class.php(320): Think\Db\Driver->insert(Array, Array, false)
#3 /www/wwwroot/xxx.xxx.xxx.xxx/Duipi/Controller/AdminController.class.php(208): Think\Model->add(Array)
#4 [internal function]: Duipi\Controller\AdminController->login()
#5 /www/wwwroot/xxx.xxx.xxx.xxx/ThinkPHP/Library/Think/App.class.php(164): ReflectionMethod->invoke(Object(Duipi\Controller\AdminController))
#6 /www/wwwroot/xxx.xxx.xxx.xxx/ThinkPHP/Library/Think/App.class.php(202): Think\App::exec()
#7 /www/wwwroot/xxx.xxx.xxx.xxx/ThinkPHP/Library/Think/Think.class.php(120): Think\App::run()
#8 /www/wwwroot/xxx.xxx.xxx.xxx/ThinkPHP/ThinkPHP.php(98): Think\Think::start()
#9 /www/wwwroot/xxx.xxx.xxx.xxx/index.php(13): require(‘/www/wwwroot/11…’)
#10 {main}

ThinkPHP3.2.3 { Fast & Simple OOP PHP Framework } — [ WE CAN DO IT JUST THINK ]

 

在网站上传文件时,一直报错无法上传

SQLSTATE[HY000]: General error: 1364 Field ‘xxxxx’ doesn’t have a default value
后来发现是配置文件中有一个值默认出错

最终找到办法,就是mysql设置的问题,有my.ini的就找这个文件,没有的就找my.cnf(这个一般都在/ect/my.conf)

 

然后打开MySql配置文件 

然后找到[MySql]

然后找

sql-mode=STRICT_TRANS_TABLESNO_ENGINE_SUBSTITUTION
问题原因: 主要是MySQL使用了严格验证方式:

解决方法: 直接把sql-mode模式改变下

这个可能你我的不相同,你只要找到sql-mode 就好

然后把这句删掉,改成:

sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
然后在重启数据库

service mysqld restart

 

 

TG交流群(点击进入)----付费帮助搭建---修复---二开,以及发布求资源.
QQ交流群 922260178
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容