【问题标题】:MySQL (After changing to Percona) numeric ordering changedMySQL(更改为 Percona 后)数字顺序已更改
【发布时间】:2014-02-10 11:17:06
【问题描述】:

抱歉标题垃圾。

我刚刚在我的 VPS Ubuntu 12.10 灯堆栈​​(PHP 5.5.8,Apache2)上安装了 Percona DB 替换 MySQL DB。

问题是,类别排序有点混乱。因为 11 被认为是比 1 小的数字。

例如,我将类别存储在数据库中;

id_cat  cat_order
1   9
3   11
4   1
7   5
6   2
8   10
9   0
10  7
11  3
12  4
13  6
14  8

这是桌子:

Field           Type        Null    Key Default Extra
id_cat          tinyint(4)      unsigned    NO  PRI NULL    auto_increment
cat_order       tinyint(4)  NO      0   
name            varchar(255)    YES     NULL    
can_collapse    tinyint(1)  NO      1   

但是以升序显示它们的网站现在将 id_cat 3 (cat_order 11) 放在 cat_id 4 (cat_order 1) 之前。所有其他命令都是正确的。

任何建议将不胜感激。 问候。

【问题讨论】:

  • 我不明白这个问题。 sql 表中没有“排序”,除了查询定义的 !?!?!?
  • 您正在运行什么查询?请记住,要获得显式排序,您需要显式排序查询。
  • 您好,查询没有改变。这个问题是从 MySQL 改成 Percona 后出现的。所以我只能假设 Percona 返回结果的默认顺序(当没有指定 order by 时)与 MySQL 不同。

标签: php mysql percona


【解决方案1】:

您可能需要在查询中明确指定ORDER BY cat_id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 2016-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多