为什么 ORDER BY 'id' 'desc' return 不是语法错误?
Why doesn't ORDER BY 'id' 'desc' return a syntax error?
我正在测试一些明显错误的代码,并且非常确定它应该 return 是语法错误。但它没有。以下查询没有错误(尽管也没有对 table 进行排序, 这至少符合我的期望):
SELECT * FROM dummy ORDER BY 'id' 'desc';
有趣的是,
SELECT * FROM dummy ORDER BY id 'desc';
会产生语法错误。
MySQL如何解释ORDER BY
之后的两个字符串?这些字符串有什么用?这是 MCVE
SELECT * FROM dummy ORDER BY 'id' 'desc';
评估为
SELECT * FROM dummy ORDER BY 'iddesc';
即ORDER BY 一个(常量)字符串文字 - 根本不影响 ORDER BY。
注意:这是ANSI/ISOSQL标准,字符文字可以由多个部分组成,无需显式连接。
我正在测试一些明显错误的代码,并且非常确定它应该 return 是语法错误。但它没有。以下查询没有错误(尽管也没有对 table 进行排序, 这至少符合我的期望):
SELECT * FROM dummy ORDER BY 'id' 'desc';
有趣的是,
SELECT * FROM dummy ORDER BY id 'desc';
会产生语法错误。
MySQL如何解释ORDER BY
之后的两个字符串?这些字符串有什么用?这是 MCVE
SELECT * FROM dummy ORDER BY 'id' 'desc';
评估为
SELECT * FROM dummy ORDER BY 'iddesc';
即ORDER BY 一个(常量)字符串文字 - 根本不影响 ORDER BY。
注意:这是ANSI/ISOSQL标准,字符文字可以由多个部分组成,无需显式连接。