一尘不染

phpMyAdmin对UNION ALL查询做什么?

sql

以下查询返回1行:

SELECT `coach_id` FROM `table_a` WHERE `coach_id` = 8
UNION ALL
SELECT `coach_id` FROM `table_b` WHERE `coach_id` = 8

但是SELECT coach_id FROM table_b WHERE coach_id = 8返回2行。

SELECT coach_id FROM table_a WHERE coach_id = 8返回1行。

我之所以UNION ALL避免DISTINCT过滤,是因为我实际上只是对总行数感兴趣。看起来它的行为仍然像常规的UNIONaka一样UNION DISTINCT

这里发生了什么?查询4.5.2在MariaDB10.1.9服务器上的phpMyAdmin界面中执行。

更新

我刚刚发现mysql命令行客户端的行为与预期的一样。所以,失败必须是我的堆内的某处nginx 1.8.0PHP 5.6.16
mysqliphpmyadmin

更新2

当我从php脚本(使用mysqli)运行查询时,它也正确返回3行。我想除了phpMyAdmin之外,什么都不会引起这种现象。到目前为止,感谢您的帮助,对于这个问题引起误解,我们深表歉意。我不知道…


阅读 176

收藏
2021-05-23

共1个答案

一尘不染

这是phpMyAdmin错误,已在v4.5.3.0(2015-12-23)中修复。

2021-05-23