我测试了一些明显错误的代码,并且非常确定它会返回语法错误.但它没有.下面的查询可以正常工作(尽管它也不会对表进行排序,which at least meets my expectations):

SELECT * FROM dummy ORDER BY 'id' 'desc';

有趣的是

SELECT * FROM dummy ORDER BY id 'desc';

does产生语法错误.

MySQL如何解释ORDER BY之后的两个字符串?这些弦是干什么用的?这是MCVE美元

推荐答案

SELECT * FROM dummy ORDER BY 'id' 'desc';

判断为

SELECT * FROM dummy ORDER BY 'iddesc';

例如,按(常量)字符串文字排序——这根本不影响按顺序排序.

Note:这是ANSI/ISO SQL标准,一个字符文本可以由几个部分组成,无需显式连接.

Mysql相关问答推荐

对象NotExecutabletry 在远程SQL服务器上执行SQL时出错,并使用SQLAchemy.Create_engine

无法删除或更新父行:外键约束无法删除表

为分组记录MySQL取取值为TRUE的单行

MySQL-带有用户定义变量的IF-THEN语句

查询具有JSON对象数组的列时,JSON_CONTAINS的MySQL语法错误

MySQL中如何对字符串进行算术运算?

我可以在姓名和姓名日期之间进行搜索吗?

根据单个日期字段获取范围/天数

MYSQL REGEXP_REPLACE 在数字之后

更新和替换未加引号的 JSON 字符串

我在查询中没有得到正确的结果

估计行数 SQL

为什么 ORDER BY 'id' 'desc' 不返回语法错误?

用序列号mysql更新列

MySQL:按字段排序,将空单元格放在末尾

WHERE 子句中的条件顺序会影响 MySQL 性能吗?

将sql查询的结果写入mysql中的文件

Mysql:创建表时将DATETIME的格式设置为'DD-MM-YYYY HH:MM:SS'

'LIKE ('%this%' OR '%that%') and something=else' 不起作用

为什么在 MySQL 中使用外键约束?