- 締切済み
updateを1行ずつ実行したい。
掲示板のようなシステムを開発しています。 登校時に記事に投稿ナンバーが割り当てられますが、記事を削除したときにこの投稿ナンバーを更新させたいのです。 どういうことかといいますと、投稿ナンバーが1~10の記事があったとします。そこれ4~7の記事を削除すると、残りの記事数は6つとなり、記事ナンバーは上から1,2,3,8,9,10となり、連番ではなくなってしまいます。今後このデータベースを利用するに当たって、この数字が連番になっていないと困ります。 そこで、記事が削除されたときに投稿ナンバーをチェックし、間違っていたら数値を更新させたいのです。先ほどの例ですと、8,9,10を4,5,6にしたいのです。 検索してみた結果、データの更新(上書き)にはUPDATE構文を使えば良いそうですが、これを1行ずつ実行させる方法が分かりません。limit文は引数が1つしか使えないため、0番目からn番目の要素すべてを一気に検出・置換してしまいます。 このような問題にどのようにして対応すればよいのか、皆様の知恵をお貸しください。
- みんなの回答 (3)
- 専門家の回答
補足
回答ありがとうございます。 おっりゃるとおり、確かに場合によっては何万件もの修正が必要になるかもしれませんが、あくまで掲示板製作の実験ですので、投稿数に上限(最高でも300件とか)をつけることによってカバーできるものと思い、製作しておりました。 CGIの掲示板などで投稿が削除された後、欠番が何らかの方法で埋められて、結果記事ナンバーが連番になっている(表示順は違う場合あり)ものを見かけたので、どのようにして実行させているのか気になって質問しました。 お教えいただいた方法も試してみようと思います。