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 に答える