ks1*_*322 4 mysql sql validation error-handling warnings
假设我有一个包含以下内容的表:
mysql> select * from test;
+----+------+
| id | val |
+----+------+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
| 5 | 2 |
| 6 | 2 |
| 7 | 2 |
| 8 | 2 |
+----+------+
8 rows in set (0.00 sec)
mysql>
Run Code Online (Sandbox Code Playgroud)
现在我使用group by子句运行错误的SQL查询,并且没有id列上的任何聚合并得到错误的结果:
mysql> select id, val from test group by val;
+----+------+
| id | val |
+----+------+
| 1 | 1 |
| 5 | 2 |
+----+------+
2 rows in set (0.00 sec)
mysql>
Run Code Online (Sandbox Code Playgroud)
mysql客户端或可能是其他一些工具可以验证此查询并在group by没有聚合的情况下发出错误或警告吗?
小智 7
是的,你可以这样做:
要禁用MySQL GROUP BY扩展,请启用
ONLY_FULL_GROUP_BYSQL模式.
mysql> SET sql_mode = 'ONLY_FULL_GROUP_BY';
Run Code Online (Sandbox Code Playgroud)
请参阅此处的文档.此外,有关服务器模块的此部分可能有所帮助
| 归档时间: |
|
| 查看次数: |
1745 次 |
| 最近记录: |