html テーブルとして表示される mysql テーブルがあります。ユーザーは、行を更新、挿入、および削除できます。保存ボタンがクリックされたら、mysql テーブルを更新したいと思います。
私の現在の方法は、保存時にすべての行を削除し、すべての新しい行を挿入することです。ただし、挿入機能にエラーがあり、すべてを削除した場合に問題が発生しました。
この方法はずさんで、不要な削除を引き起こしているように感じます。1 つのセルを更新するためだけに、50 行を削除および挿入する可能性があります。
mysqlでテーブルを更新する適切な方法は何ですか?
編集:私の現在の作業ソリューションはこれです
削除された列をテーブルに追加します。デフォルト値は 0 です
行の各セルに対してテーブルに一意のインデックスを作成します (ID を除く)
テーブルが保存されたら、すべての行を更新し、削除済みを設定 = 1
テーブルの各行に対して、mysql に挿入し、重複セットを削除 = 0
削除された行のみを表示 = 0
削除済み = 1 の行を削除してクリーンアップすることもできますが、私はそれをバックアップとして保持したいと考えています。
このソリューションでは、次の 2 つの問題が発生します。
2 つの同一の行は許可されません。mysql は、重複が見つかった場合、deleted = 0 を置き換えるだけです
行内のセルが変更されると、新しい行が作成され、古い行が単純に更新されるわけではありません。これは修正される可能性がありますが、編集を「元に戻す」機能があることはほとんど気にしません。