问题标签 [sql-mode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 无法将 sql_mode 设置为 none
我在 mac El Capitan 上使用如下所示的 5.7.9 版本。
我创建了一个文件 ~/.my.cnf 并添加了以下内容。
我重新启动了mysql并再次检查了sql_mode,但没有任何区别。我在这里做错了什么?
sunos - 如何配置 xemacs 以识别 .sql-mode 中指定的数据库?
我正在使用包含以下内容的 .sql-mode 文件运行 xemacs:
当我通过选择 Utilities->Interactive Mode->Use Association 登录到 xemacs 中的数据库时,它让我登录,但它没有获取数据库参数。例如,当我登录到“dev”时,它会登录,但是当我执行“select db_name()”时,它会生成 csdb 而不是 devbilling。它似乎正在选择与用户关联的默认数据库并忽略数据库参数。如何配置 xemacs 以便在选择该选项时获取 .sql-mode 中指定的数据库参数?
谢谢,
麦克风
mysql - 为什么我不能永久更改 sql_mode?
我目前在 Windows 10 中使用 mysql server 5.6。在使用 mysql 时,不断出现错误,类似于“以下列没有默认值”我在互联网上读到,如果我改变我可以解决这个问题sql_mode。目前设置为
我从“mysql server 5.6”文件夹中的“my-default.ini”文件中获取了这个。我读了其他几个答案,说如果你想永久更改你的 sql_mode,你应该通过“my-default.ini”文件来完成。所以我所做的是,我以管理员身份运行记事本,然后浏览打开“my-default.ini”文件,该文件位于:
当我打开文件时,我修改了最后一行:
至
然后我保存了文件,关闭了它。然后通过使用任务管理器我重新启动了我的 sql 服务器:
这是应该永久修改我的 sql_mode 的整个过程。当我查看我的“my-default.ini”文件时,最后一行仍然被修改。但是如果我通过命令行登录mysql并使用以下代码查看我的sql_mode:
我知道我的 sql_mode 是
我希望(永久)删除所有这些,以使我的错误消失。如果我尝试使用以下命令从命令行修改 sql_mode:
它起作用了,但是当我重新启动 MySQL 时,一切都恢复了原来的样子。
有人可以告诉我我做错了什么吗?如果有另一种方法来解决这个问题。
mysql - 第1行的数据太长mysql 5.6
我在生产中为我的应用程序使用 MySql 5.6。现在发生的情况是应用程序中的表单上有一个字段具有数据类型 char(2) 表,其输入类型的最大长度为 25。现在当用户输入超过 2 个字符并点击保存时,它会提示
所以我在这里搜索并发现,如果我需要做到这一点而没有错误,我需要将 MySQL 模式切换为不使用 STRICT,因此我sql_mode
在 my.cnf 文件中进行了设置并尝试了。但我仍然遇到同样的错误。这是 my.cnf 的样子:
我正在使用 MySql 5.6 我没有得到我在这里缺少的东西。我希望那个错误消失。
编辑:
我做了SET GLOBAL sql_mode = ''
然后做了show variables;
这里是输出:
但仍然得到同样的错误。
mysql - 新版本中组的 MySQL 问题
再会。
注意:在 MySQL 5.7.0 和更新版本中默认包含在 ONLY_FULL_GROUP_BY sql_mode
以下查询不是:
给出错误消息错误:SELECT 列表的表达式 #1 不在 GROUP BY 子句中,并且包含在功能上不依赖于 GROUP BY 子句中的列的非聚合列“ordered_list.id”;这与预期的 sql_mode = only_full_group_by 不兼容。
如果禁用此选项,我会得到以下结果:
5.7.x 之前的 MySQL 版本返回所需的结果:
源数据:
应该查看查询以选择适合每个组中最大日期的数据行吗?
php - 如何在 osx 10.11 重置 sql_mode
我有这个 sql_mode 的问题
我尝试了本教程,但没有结果。 如何摆脱 MySQL 中的 STRICT SQL 模式
我有一个干净的 osX 10.11 安装,我在本教程中手动安装了 apache、php 和 mysql ... https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-osx -10-11-el-capitan/
我的版本阿帕奇:
mysql版本:
如果我首先将此 sql 代码插入到我的 phpmyadmin 中,那么一切正常,下次重新启动 os 或 mysql
我尝试在每个路径中设置 my.cnf 文件,如下所示,重启后仍然是同样的问题。
请帮忙。谢谢
mysql - MySQL 错误使用 DUPLICATE KEY UPDATE
我有一个项目,每周我都会导入几个包含不正确数据的大型数据集,例如重复的员工 ID,它们不应该重复。为了标记重复项,我尝试了以下代码:
INSERT 语句给了我错误,我看不出我做错了什么:
如果相关,我在 OS X 10.11.4、INNODB 引擎和 mysql_mode = '' 上运行 MySQL 5.7.12。我的目的是识别重复的 ID,以便我可以将它们转发给适当的 DBA 进行更正。
更新:我已将数据库默认设置如下:
my.cnf - MySQL sql_mode 有不需要的额外模式
我在 Mac 上,使用 MySQL 工作台,它告诉我 my.cnf 文件的位置在 /etc/ 中,我正在编辑它。我使用 chmod aw 设置了该文件的权限。
在那个 my.cnf 文件中,我有以下内容:
sql模式=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
这就是我想要的。但是,在重新启动 MySQL 并登录到它的命令行后,我得到了这个:
mysql> 选择@@sql_mode;
| @@sql_mode |
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
一组中的 1 行(0.00 秒)
正在添加其他模式。如果我运行以下(但不是持久的)命令: set global sql_mode= NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
;
这就是我在控制台上看到的:mysql> SELECT @@sql_mode;
| @@sql_mode |
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
正是我想要的。
谁能向我解释如何/为什么要添加这些额外的、不需要的 sql 模式?和/或我如何才能让这两种模式在没有其他模式的情况下持续存在?
mysql - MySQL won't start after changin my.cf
I'm working on a website and I'm getting this MySQL error:
"(...) this is incompatible with sql_mode=only_full_group_by (...)"
I've looked for an answer and I realized I had to change the sql_mode of my MySQL. So I've added the following line to /etc/mysql/my.cnf:
But now when I executed sudo service mysql restart
it takes a really long time and then shows this message:
So now I removed that line and I have to execute the command by hand everytime I boot my PC.
Can anyone help me?
replication - 会话变量“sql_mode”的 MySQL 5.7 复制失败
v5.7 的 MySQL 文档说明了变量的复制:
在 MySQL 5.7 中,以下会话变量被写入二进制日志,并在解析二进制日志时由复制从属设备兑现,无论日志记录格式如何: - sql_mode,(等)
但是,此功能似乎不起作用。我在我的开发设置中注意到了它,并使用mysql-sandbox重新安装了 1 个主服务器和 2 个从属服务器,并对其进行了仔细检查。
数据复制工作:
$HOME/sandboxes/rsandbox_mysql-5_7_13/m
$HOME/sandboxes/rsandbox_mysql-5_7_13/s1
但是会话变量 sql_mode 的复制不起作用:
$HOME/sandboxes/rsandbox_mysql-5_7_13/m
$HOME/sandboxes/rsandbox_mysql-5_7_13/s1
我在 MySQL Bug tracker 中搜索了相关的 bug,但没有发现任何问题。
我知道数据库管理员可以在每个数据库服务器上全局设置变量。但是,目前这不是一个选择。我需要将此功能作为 OpenSource PHP 框架的一部分,该框架应具有尽可能少的要求。