我的MySQL数据库有两个数据库,我们称之为apple
和banana
。 apple
有一个表格,我们称之为mydata
。
> use apple;
Database changed
> SELECT * FROM mydata;
...
3379 rows in set (0.00 sec)
> SELECT mydata.* FROM mydata;
...
3379 rows in set (0.00 sec)
当我在同一个数据库中使用SELECT *
时,一切正常。一旦我切换数据库,我就会出现奇怪的行为。
> use banana;
Database changed
> SELECT mydata.* FROM apple.mydata;
...
3379 rows in set (0.00 sec)
> SELECT * FROM apple.mydata;
[hangs!]
为什么会这样? MySQL认为*
意味着它会挂起,而mydata.*
更具体并且不会导致挂起。
注意:
为什么不合格的SELECT *
无法运行,而合格的SELECT mydata.*
会立即运行?
谢谢,
乔纳森