首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当字段被标记为引号时,MySQL进行正确排序,而SQLite没有排序?

问为什么当字段被标记为引号时,MySQL进行正确排序,而SQLite没有排序?
EN

Stack Overflow用户
提问于 2012-07-04 17:09:18
回答 2查看 84关注 0票数 1

在下面的SQL语句中,SQLite正确排序,但MySQL没有:

​

​

但是,如果我不包括字段名周围的引号,它就能正常工作:

​

​

如果一个字段是用引号定义的,任何人都能解释MySQL而不是SQLite不能正确排序的行为吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-04 17:13:25

"TotalOrders" (双引号)是一个常量的字符串排序,它不做任何事情.本质上,您可以得到未排序的行序列,这可能看起来是正确排序的。

你想要的

代码语言:javascript
复制
ORDER BY `TotalOrders`

后背。它是列标识符。

票数 2
EN

Stack Overflow用户

发布于 2012-07-04 22:21:28

除了尤根的回答:

值得注意的是,这种行为取决于MySQL的配置。

所描述的行为仅显示MySQL是否处于默认的不符合标准的配置中。

如果将其配置为以"ANSI模式“运行,则双引号不是用于字符串文本,而是用于标识符(几乎与所有其他DBMS一样)。

解决此问题的另一个解决方案是通过将MySQL更改为"ANSI“,从而使SQL_MODE符合SQL_MODE标准。

然后,标准兼容单引号用于文字,双引号用于标识符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11333145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档