这是MySQL的错误吗



我在MySQL8.0.17:上对sakila数据库运行此查询

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包装任何表值都应该得到相同的结果。

我创造了这把小提琴。

这已被确认为MySQL中的一个错误。看见https://bugs.mysql.com/bug.php?id=97461.

相关内容

  • 没有找到相关文章

最新更新