You*_*nse 4 mysql sql sql-order-by
我正在测试一些明显错误的代码,并且非常确定它应该返回语法错误。但事实并非如此。以下查询工作没有错误(尽管也不对表进行排序,这至少满足我的期望):
SELECT * FROM dummy ORDER BY 'id' 'desc';
Run Code Online (Sandbox Code Playgroud)
有趣的是,那
SELECT * FROM dummy ORDER BY id 'desc';
Run Code Online (Sandbox Code Playgroud)
确实会产生语法错误。
MySQL如何解释后面的两个字符串ORDER BY?这些字符串有什么用呢?这是MCVE
SELECT * FROM dummy ORDER BY 'id' 'desc';
Run Code Online (Sandbox Code Playgroud)
评估为
SELECT * FROM dummy ORDER BY 'iddesc';
Run Code Online (Sandbox Code Playgroud)
即 ORDER BY 一个(常量)字符串文字 - 它根本不影响 ORDER BY。
注意:这是 ANSI/ISO SQL 标准,字符文字可以由多个部分组成,无需显式连接。(几乎正确,需要换行符作为分隔符。)
| 归档时间: |
|
| 查看次数: |
538 次 |
| 最近记录: |