蓝天采集器在入库时候报错是经常有的时候,程序嘛说不定在哪一块配置上面就有电销问题。遇到问题是好事情,它可以更好的帮助我们更深层次的了解到更多的知识。SQLSTATEHY000: General error: 1364 Field 'voteid' doesn't have a default value 这段话翻译过来意思就是:
details字段没有默认的数值;也就是说我们没有为其分配数值,而表中此字段也没有设置默认值。
这个问题是在MySQL5.1版本需要改这个文件需要修改mysql的配置文件,原因是由于mysql的高版本配置导致的。windows修改my.ini,linux用户修改my.cnf(/etc/my.cnf)。
然后我安装的mysql server5.7 所在C盘目录C:\Program Files\MySQL\MySQL Server 5.7下没有找到my.ini,只有my-default.ini,尝试在my-default.ini的[mysqld]下加入secure_file_priv =,不起作用,最后发现可行的解决方法为:
总结:
(1) Mysql5.7修改mysql5.7安装目录下my-default.ini发现不起作用,需要修改C:\ProgramData\MySQL\MySQL Server 5.7 下的 my.ini 配置文件(MySQL 默认读取 C:\ProgramData\MySQL\MySQL Server 5.7 下的 my.ini 配置文件)
复制路径:C:\ProgramData\MySQL\MySQL Server 5.7\my.ini(直接打开找不到这个目录,隐藏了。)
(2) 也可以将my-default.ini拷贝一份,文件名改为my.ini,然后在my.ini的[mysqld]内加入secure_file_priv =..或者修改 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini中配置
将:sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
改为:sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
或者是:sql-mode="NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES"
问题直接就可以解决了。
之所以出现这个原因呢主要是MySQL使用了严格验证方式:
本地最便捷解决方法: 直接把sql-model模式改变下
sql-mode=NO_AUTO_CREATE_USER,
NO_ENGINE_SUBSTITUTION
评论