在MySQL中,select *,1 from t
似乎是有效的,但select 1,* from t
不是。
为什么?
这方面有官方文件吗?我找不到任何说明后者无效的信息,我得到的错误消息也没有具体说明。
最佳答案
From the MySQL docs,我们会告诉您如何处理不合格的*
:
一个仅由一个不合格*
组成的选择列表可用作从所有表中选择所有列的速记:SELECT * FROM t1 INNER JOIN t2 ...
您要查找的相关文档包括以下两点:
对选择列表中的其他项使用unqualified*
可能会产生解析错误。要避免此问题,请使用限定的tbl_name.*
引用
不幸的是,为什么没有在文件中解释,可能需要一些挖掘。