下面是我当前版本的MySQL:
mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper以下是以前的版本:
mysql Ver 14.14 Distrib 5.5.47, for Linux (x86_64) using readline 5.1我试图运行的查询( The )是:
INSERT INTO bais_logs SET editor_id = '', type = 'basic'; -- no editor我得到了指定的错误。editor_id是INT(10) UNSIGNED NOT NULL
它在以前的版本中工作,更新相关查询将是困难和耗时的。是否有任何方法来设置与MySQL 5.5服务器的兼容性,以便只忽略''并继续进行?
发布于 2017-06-24 17:20:40
我不确定,但我认为您的数据库上的SQL模式已经改变了。阅读https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-important后,尝试相应地更改它
发布于 2017-06-24 17:50:46
对于另一篇文章,SQL模式发生了变化(或者只是在新系统上以不同的方式启动)。我看到了一些关于设置SQL模式的帖子,但我想,在根据所有建议进行某种程度的编译时,我可以一次分享一些有用的技巧:
将其写在注释的某个地方;这种配置可能是“正确”的配置,或者至少是大多数开发人员所使用的配置。
发布于 2017-07-16 07:01:47
由于MySQL的SQL_MODE处于严格模式,因此它不将此操作解释为有效。您可以编辑my.ini文件,也可以在成功连接到数据库后添加此代码。
mysqli_query($connection,"SET全局sql_mode = ''");
这里的$connection变量假定是保存到数据库的连接的变量。
https://stackoverflow.com/questions/44738972
复制相似问题