问题标签 [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.

0 投票
2 回答
544 浏览

php - mysql 从 5.5 升级到 5.7 后的空查询

我正在开发一个在 mysql 5.5 上运行的 laravel 4.2 应用程序。这个应用程序迁移到一个新的服务器,现在运行一个 mysql 5.7。

升级后,一些查询现在返回空。

我相信这与mysql 5.7引入的sql_mode有关。

示例查询

这是 laravel eloquent 产生的查询。它返回空。在旧的 mysql 5.5 上,它按预期返回一行。

如果从主查询中修复了 id,它就可以工作。

正如我之前所说,我认为这与 sql_mode 有关。

有什么想法吗?

0 投票
2 回答
47 浏览

mysql - 在不更改 sql_mode 的情况下运行此查询

我正在尝试在测试环境中测试一个查询,如下所示

询问 : -

查询抛出以下

错误 : -

该查询适用于我的本地环境,但不适用于测试环境经过大量搜索后我发现测试环境有sql_modes无法更改以用于应用程序流和安全目的

SQL模式: -

有没有办法在不改变 sql_mode 的情况下运行这个查询? 如果需要任何其他信息,请告诉我。提前谢谢你:D

0 投票
1 回答
477 浏览

mysql - 修剪比MySQL中的列长度长的数据

我正在使用以下查询将数据插入 MySQL 中的表中,

但是,当特定字段的长度大于列长度时,它会按预期失败。有没有办法修剪长度并设置为列的长度。我知道我可以更改 sql_mode。但是当我这样做时,它也会影响其他验证。它也将应用于整个 mysql 服务器。

1)有没有办法将 sql_mode 仅应用于特定表?

2) 有没有办法在不改变 sql_mode 的情况下实现这一点?

0 投票
1 回答
1596 浏览

mysql - MySQL 你能在数据库级别覆盖服务器 SQL 模式吗?

我们有一个 MySQL 5.7 服务器,我们需要在非严格模式下拥有它,因为一些遗留数据库需要它。但是,在我们最新的应用程序中,我们希望数据库强制执行严格性(尤其是NO_ZERO_DATE)。有没有办法在数据库级别覆盖服务器级别的配置?

0 投票
1 回答
192 浏览

mysql - Mysql 5.7 sql-mode 避免严格

我有一个使用 mysql 5.6 的应用程序尝试使用 mysql 5.7 时,strictmode 存在很多问题,但设置sql-mode = ""让应用程序再次工作。

我的疑问是:在未来的 mysql 版本中,特性 sql-mode 会被保留吗?或者现在最好尝试使用严格模式解决所有问题?

0 投票
2 回答
376 浏览

mysql - 如何在不设置 sql 模式的情况下在 mysql 中与 group by 聚合?

这个查询得到我想要的输出。为了运行它,我必须运行

因为否则我会收到一个错误:

SELECT 列表不在 GROUP BY 子句中,并且包含非聚合列“knownLoss.t1.loss”,它在功能上不依赖于 GROUP BY 子句中的列;这与 sql_mode=only_full_group_by 不兼容

当我将它放入 Jasper Studio 的数据集和查询对话框时,我得到了同样的错误,我无法使用 SET sql_mode = ''; 命令。有什么想法吗?如果有一种方法可以在不使用 SET sql_mode = ''; 的情况下实现这一点?

0 投票
0 回答
1021 浏览

mysql - ONLY_FULL_GROUP_BY 已禁用但仍出现错误 1055

我正在测试 mysql server 5.7.17 并且我已将 sql-mode 定义为

运行其中的每一个都会给我定义的 sql-mode:

但是在我的 vs2012 桌面应用程序上使用带有 EF6 的 mysql .net 连接器 6.9.8 我总是得到错误

我知道修复查询以正确使用 GROUP BY 我解决了错误,但是如果想使用与 mysql 服务器 5.6.35 一起使用的查询,为什么我不能?

sql-mode 没有定义only_full_group_by,所以我不明白为什么会出现这个错误。

有任何想法吗 ?谢谢

0 投票
1 回答
868 浏览

sql-server - 如何在 sql server 中禁用“ONLY_FULL_GROUP_BY”

我知道在 mysql 中,我们可以禁用 ONLY_FULL_GROUP_BY 来对选定字段以外的其他字段进行聚合。但是在sql server中我不知道怎么做。

这是我尝试过的查询:

我收到以下错误:

0 投票
3 回答
1123 浏览

mysql - MySQL 默认值错误与 ON DUPLICATE KEY UPDATE 与 sql 模式 ON

创建和更新联系人的通用查询。更新字段时:- 执行时发生异常

一般错误:1364 字段“club_id”没有默认值

contact_table 有一个 club_id 字段,默认值为 none 且不可为空

contact_table 已经有值 id = '1234' 和 'club_id' = 123

0 投票
1 回答
2484 浏览

php - SQL_MODE 在 MySQL 5.7.18 上不起作用

我的 PHP 应用程序出现以下错误:

不正确的 SQL 查询(数据库)在没有 GROUP BY 的聚合查询中,SELECT 列表的表达式 #1 包含非聚合列 'db_20172201.cm_order.buyer';这与 sql_mode=only_full_group_by 不兼容

环顾了一会,并在尝试识别导致此错误的查询后,我决定应该更改 MySQL 服务器中的 SQL_MODE 选项。

我做了两件事来做到这一点:

  • 执行了这个查询

    /li>
  • 添加了以下内容,my.cnf其中是 MySQL 的配置文件

    /li>

我认为这些就足够了,但错误永远不会从我的应用程序中消失。当我SQL_MODE通过此查询检查环境中的值时

它显示了上面插入的值。

我不知道还能去哪里看。我还尝试在执行查询之前从我的应用程序中设置 sql_mode 变量,但没有解决。

- - 更新

我刚刚在我的应用程序中打印了查询的结果,结果SELECT @@SESSION.SQL_MODE是我设置的:

但我仍然得到错误

PS。MySQL 版本是 5.7.18