首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询失败,原因如下:(错误#1366)不正确的整数值:“”表示列;如何设置版本兼容性

查询失败,原因如下:(错误#1366)不正确的整数值:“”表示列;如何设置版本兼容性
EN

Stack Overflow用户
提问于 2017-06-24 17:15:40
回答 3查看 1.2K关注 0票数 0

下面是我当前版本的MySQL:

代码语言:javascript
复制
mysql  Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using  EditLine wrapper

以下是以前的版本:

代码语言:javascript
复制
mysql  Ver 14.14 Distrib 5.5.47, for Linux (x86_64) using readline 5.1

我试图运行的查询( The )是:

代码语言:javascript
复制
INSERT INTO bais_logs SET editor_id = '', type = 'basic'; -- no editor

我得到了指定的错误。editor_idINT(10) UNSIGNED NOT NULL

它在以前的版本中工作,更新相关查询将是困难和耗时的。是否有任何方法来设置与MySQL 5.5服务器的兼容性,以便只忽略''并继续进行?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-06-24 17:20:40

我不确定,但我认为您的数据库上的SQL模式已经改变了。阅读https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-important后,尝试相应地更改它

票数 1
EN

Stack Overflow用户

发布于 2017-06-24 17:50:46

对于另一篇文章,SQL模式发生了变化(或者只是在新系统上以不同的方式启动)。我看到了一些关于设置SQL模式的帖子,但我想,在根据所有建议进行某种程度的编译时,我可以一次分享一些有用的技巧:

  1. 您需要根权限来执行以下操作,但是它应该可以工作: 设置全局sql_mode = '';
  2. 如果服务器或mysql重新启动,第1项将失败。要永久设置它,您必须遵循以下信息:mode in mysql
  3. 重要的是,在进行更改之前,先弄清楚您现有的sql_mode是什么!! 选择@@GLOBAL.SQL_MODE;--这通常会输出逗号分隔的列表。

将其写在注释的某个地方;这种配置可能是“正确”的配置,或者至少是大多数开发人员所使用的配置。

  1. 到MySQL文档并研究每一种模式来理解它;它们在那里是有原因的。设置sql_mode='‘是一种攻击(我对此有罪:),但要参考:https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sql-mode-important
票数 0
EN

Stack Overflow用户

发布于 2017-07-16 07:01:47

由于MySQL的SQL_MODE处于严格模式,因此它不将此操作解释为有效。您可以编辑my.ini文件,也可以在成功连接到数据库后添加此代码。

mysqli_query($connection,"SET全局sql_mode = ''");

这里的$connection变量假定是保存到数据库的连接的变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44738972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档