这是 MySQL 错误吗?
Is this a MySQL bug?
我 运行 在 MySQL 上针对 sakila database 进行了此查询 8.0.17
:
select * from film _1 where (
exists (
select * from film_actor where (
select * from (
select film_id=_1.film_id and actor_id=1
) _2
)
)
);
这给出了 0
个结果。但是如果我 运行 这个:
select * from film _1 where (
exists (
select * from film_actor where (
select film_id=_1.film_id and actor_id=1
)
)
);
我得到了 19
个结果,符合预期。
基本上我用select * from
包裹了where
条件,突然得到了错误的结果。
据我了解,用 select * from
包装任何 table 值应该得到相同的结果。
我创建了 this fiddle。
这已被确认为 MySQL 中的错误。参见 https://bugs.mysql.com/bug.php?id=97461。
我 运行 在 MySQL 上针对 sakila database 进行了此查询 8.0.17
:
select * from film _1 where (
exists (
select * from film_actor where (
select * from (
select film_id=_1.film_id and actor_id=1
) _2
)
)
);
这给出了 0
个结果。但是如果我 运行 这个:
select * from film _1 where (
exists (
select * from film_actor where (
select film_id=_1.film_id and actor_id=1
)
)
);
我得到了 19
个结果,符合预期。
基本上我用select * from
包裹了where
条件,突然得到了错误的结果。
据我了解,用 select * from
包装任何 table 值应该得到相同的结果。
我创建了 this fiddle。
这已被确认为 MySQL 中的错误。参见 https://bugs.mysql.com/bug.php?id=97461。