-1

我正在对 MySQL 上的sakila 数据库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结果,这是意料之中的。

基本上我用这个where条件包裹起来select * from,突然得到错误的结果。

据我了解,用任何表值包装select * from应该给出相同的结果。

我创造了这个小提琴

4

1 回答 1

0

这被证实是 MySQL 中的一个错误。请参阅https://bugs.mysql.com/bug.php?id=97461

于 2019-11-05T08:46:50.737 回答