-1
私は顧客がDELETE
ステートメントを実行したいデータベースを持っています。しかし、データベース側では、レコードを削除する代わりに隠しておくだけです。トリガで拒否文を拒否するMySQL
BEFORE DELETE TRIGGER
を使用して、レコードを削除する代わりににvisiblity
フラグを変更できますか?
私は顧客がDELETE
ステートメントを実行したいデータベースを持っています。しかし、データベース側では、レコードを削除する代わりに隠しておくだけです。トリガで拒否文を拒否するMySQL
BEFORE DELETE TRIGGER
を使用して、レコードを削除する代わりににvisiblity
フラグを変更できますか?
私は、MySQLでこれを行うための唯一の方法だと思います(アレックスMonthyが示唆したように、このロジックが属する本当にどこということでしょうか?)に設定visibility
フラグ付きレコードを、挿入し直す後に削除トリガーを使用することです偽:
CREATE TRIGGER foo AFTER DELETE ON my_table FOR EACH ROW
INSERT INTO my_table (visibility, colA, colB, colC)
VALUES ( false, OLD.colA, OLD.colB, OLD.colC);
あなたは(ちょうど例は存在しないプロシージャを呼び出し、トリガーがエラーを上げる作る)トリガ前から削除操作を中止することができますが、それはvisibility
を更新することができますしません必要に応じてフラグを立てます。
お客様は、実際にはこれらのレコードはフラグによって隠されているに過ぎないものの、一部のレコードを削除したと考えて顧客を騙したいのですか? –
はい、そうです。それで、彼らは電話して、間違ってすぐに復元できるものを誤って削除したと伝えます。さようなら、顧客がコースから離れる方法はありません。 – mortenstarck
そして、顧客は、mysqlコマンドラインクライアントやphpMyAdminのような直接的なmysql操作を可能にするインターフェースを使用していますか?それともカスタムインターフェイスですか? –