我有一个sql表,其中包含php页面中菜单的数据.
SELECT * FROM `hizlierisim` ORDER BY id LIMIT 0 , 10
Run Code Online (Sandbox Code Playgroud)
它按id行排序.但我要求在管理面板上添加订单控制.因此,将有向上和向下按钮重新排列菜单项.
我想有两种方法可以做到这一点
一种是创建一个名为'order'的行并将sql查询更改为:
SELECT * FROM `hizlierisim` ORDER BY `order` LIMIT 0 , 10
Run Code Online (Sandbox Code Playgroud)
要么
交换我们想要移动的列的id.并仍然使用相同的SQL:
SELECT * FROM `hizlierisim` ORDER BY id LIMIT 0 , 10
Run Code Online (Sandbox Code Playgroud)
id方法似乎更容易,但我想知道是否有可能在mysql上交换两列的id?
弄乱主键字段只是为了满足一些任意的排序要求是一个坏主意.特别是在外国关键的情况下.添加一个'order'列(顺便说一句,这是一个保留字,所以如果你想节省一些其他的东西,请使用其他东西)是实用的选择.