这是 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