我有下表:
- id (PK, int, Autoincrement)
- fk (foreign key, int)
- somedata (whatever)
- list_order (int)
我需要按 list_order 为给定 fk 定义的顺序返回一些数据。没问题:SELECT somedata FROM myTable WHERE fk=123 ORDER BY list_order
。
我的问题涉及如何最好地添加一条记录,如果我希望它成为给定 FK 的最后一条记录。我是否首先需要对给定的 fk 查询执行 MAX(list_order),然后再执行一个单独的查询来插入新行,或者我可以在一个查询中以某种方式执行此操作吗?请注意,记录的顺序可能会更改,因此我不能简单地摆脱 list_order 并使用 ORDER BY id。
谢谢