0

我有一个小问题我有一个包含以下记录的数据库

 tag
 ---
 a
 b
 c
 eof

eof 必须始终是最后一条记录

如何在 EOF 之前插入字段以避免这种情况?

如果我删除eof并插入一个字段,然后插入eof,我发现这种奇怪的情况,mysql之前写eof??

 tag
 ---
 a
 b
 c
 eof
 d

我用 order by 试过了,但没有用我按位置读取记录

提前致谢

4

2 回答 2

4

这将eof永远最后返回

select * from tsynapse 
order by case when tag = 'eof' 
              then 2 
              else 1 
         end asc, tag asc
于 2013-09-15T18:39:52.300 回答
0

你需要一个额外的字段我的朋友,这将是你的索引

UPDATE tablename SET position = CASE 
WHEN position >= $position THEN position+1 
ELSE position END

其中 $position 是位置列的 MAX(),然后您可以插入新条目而不是旧的 MAX()。

如果您需要进一步的帮助,请告诉我

于 2013-09-15T18:47:00.297 回答