ここにはスタックオーバーフローに関する多くの例がありますが、それぞれに違いがあり、すべて同じ問題を引き起こしています。
「順序」という名前の列を持つ 80 個の「スライド」のリストがあります。Order は数字で、現在は 0 から 79 までの範囲です。
スライドを削除した場合、そのスライドに続くスライドを調整する必要がありますが、そのアルゴリズムについては既に解決済みです。
アルゴリズムの結果は次のとおりです。
UPDATE cms_slides SET order =
CASE order
WHEN 68 THEN 67
WHEN 69 THEN 68
END CASE
WHERE order BETWEEN 68 AND 69
これは現在のコードで、Soulmerge のソリューションに基づいています: Updating display order of multiple MySQL rows in one or very few queries
列「order」は実際には「cms_slides」に存在し、1 から 69 までの値はすべて「order」の下に存在します。
典型的なエラー メッセージは次のとおりです。 エラー: SQL 構文にエラーがあります。マニュアルを確認してください...
コードの何が問題なのか誰か知っていますか? 私は多くのバリエーションを試しましたが、どれも機能しません。おそらく単純なものです。