由于选择顺序,语法错误

时间:2015-11-02 11:57:12

标签: mysql

为什么这是语法错误有任何逻辑上的原因:

SELECT 
DATEDIFF(dateA, dateB) as diff, *
FROM foo;

但这不是:

SELECT 
*, DATEDIFF(dateA, dateB) as diff
FROM foo;

或者只是因为它就像它一样?

1 个答案:

答案 0 :(得分:3)

就像它一样,见MySQL's documentation on select,最值得注意的是:

  

在选择列表中使用不合格的*与其他项可能会产生解析错误。要避免此问题,请使用限定的tbl_name。* reference

     

SELECT AVG(得分),t1。* FROM t1 ...