放在本地开发测试没问题,好好的,上传到别人服务器上也正常,就是在我linux服务器上就一直出现这个,“某某”变量没有值。
真的是坑死人呀!!查了好久都没找到问题。我都被逼的翻墙去国外的网站查了。学无止境呀!!一入程序深似海呀!!

SQLSTATE[HY000]: General error: 1364 Field ‘xxxxx’ doesn’t have a default value

最终找到办法,就是mysql设置的问题,有my.ini的就找这个文件,没有的就找my.cnf(这个一般都在/ect/my.conf)。
找到这个文件就去找[mysqld]这个配置
然后找
sql-mode="STRICT_TRANS_TABLESNO_ENGINE_SUBSTITUTION"
这个可能你我的不相同,你只要找到sql-mode 就好,然后将这个复制一次(习惯性的安全),注释上,将它改成

sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

然后在重启数据库。

service mysqld restart
好了,完美解决

Logo

鸿蒙生态一站式服务平台。

更多推荐