问题标签 [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.
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 有关。
有什么想法吗?
mysql - 在不更改 sql_mode 的情况下运行此查询
我正在尝试在测试环境中测试一个查询,如下所示
询问 : -
查询抛出以下
错误 : -
该查询适用于我的本地环境,但不适用于测试环境经过大量搜索后我发现测试环境有sql_modes无法更改以用于应用程序流和安全目的
SQL模式: -
有没有办法在不改变 sql_mode 的情况下运行这个查询? 如果需要任何其他信息,请告诉我。提前谢谢你:D
mysql - 修剪比MySQL中的列长度长的数据
我正在使用以下查询将数据插入 MySQL 中的表中,
但是,当特定字段的长度大于列长度时,它会按预期失败。有没有办法修剪长度并设置为列的长度。我知道我可以更改 sql_mode。但是当我这样做时,它也会影响其他验证。它也将应用于整个 mysql 服务器。
1)有没有办法将 sql_mode 仅应用于特定表?
2) 有没有办法在不改变 sql_mode 的情况下实现这一点?
mysql - MySQL 你能在数据库级别覆盖服务器 SQL 模式吗?
我们有一个 MySQL 5.7 服务器,我们需要在非严格模式下拥有它,因为一些遗留数据库需要它。但是,在我们最新的应用程序中,我们希望数据库强制执行严格性(尤其是NO_ZERO_DATE
)。有没有办法在数据库级别覆盖服务器级别的配置?
mysql - Mysql 5.7 sql-mode 避免严格
我有一个使用 mysql 5.6 的应用程序尝试使用 mysql 5.7 时,strictmode 存在很多问题,但设置sql-mode = ""
让应用程序再次工作。
我的疑问是:在未来的 mysql 版本中,特性 sql-mode 会被保留吗?或者现在最好尝试使用严格模式解决所有问题?
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 = ''; 的情况下实现这一点?
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
,所以我不明白为什么会出现这个错误。
有任何想法吗 ?谢谢
sql-server - 如何在 sql server 中禁用“ONLY_FULL_GROUP_BY”
我知道在 mysql 中,我们可以禁用 ONLY_FULL_GROUP_BY 来对选定字段以外的其他字段进行聚合。但是在sql server中我不知道怎么做。
这是我尝试过的查询:
我收到以下错误:
mysql - MySQL 默认值错误与 ON DUPLICATE KEY UPDATE 与 sql 模式 ON
创建和更新联系人的通用查询。更新字段时:- 执行时发生异常
一般错误:1364 字段“club_id”没有默认值
contact_table 有一个 club_id 字段,默认值为 none 且不可为空
contact_table 已经有值 id = '1234' 和 'club_id' = 123
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>添加了以下内容,
/li>my.cnf
其中是 MySQL 的配置文件
我认为这些就足够了,但错误永远不会从我的应用程序中消失。当我SQL_MODE
通过此查询检查环境中的值时
它显示了上面插入的值。
我不知道还能去哪里看。我还尝试在执行查询之前从我的应用程序中设置 sql_mode 变量,但没有解决。
- - 更新
我刚刚在我的应用程序中打印了查询的结果,结果SELECT @@SESSION.SQL_MODE
是我设置的:
但我仍然得到错误
PS。MySQL 版本是 5.7.18