还有另一种解决方法。添加一个单独的表,如下所示:
CREATE TABLE `new_order` (
`my_order` BIGINT(20) UNSIGNED NOT NULL,
`my_number` BIGINT(20) NOT NULL,
PRIMARY KEY (`my_order`),
UNIQUE KEY `my_number` (`my_number`)
) ENGINE=INNODB;
现在,该表将用于定义您自己的订购机制。
在其中添加您的值:
my_order | my_number
---------+----------
1 | 1
2 | 5
3 | 4
4 | 3
...然后在加入此新表时修改SQL语句。
SELECT *
FROM your_table AS T1
INNER JOIN new_order AS T2 on T1.id = T2.my_number
WHERE ....whatever...
ORDER BY T2.my_order;
该解决方案比其他解决方案稍微复杂一些,但是使用此解决方案,您不必SELECT在订单标准发生变化时就更改-statement,只需更改订单表中的数据即可。