MySQL 5.1で特定のテーブルの行が削除されないようにするにはどうすればよいですか?
where基準は必要ありません。これらのテーブルの行を削除したくないだけです。
削除を受け入れる購入済みのソフトウェアも使用しているため、MySQLレベルで実行する必要があります。MySQL5.1.66-cllを使用します
私はこれのためにそこにあるさまざまなトリガーを微調整しようとしましたが、成功することができません。
MySQL 5.1で特定のテーブルの行が削除されないようにするにはどうすればよいですか?
where基準は必要ありません。これらのテーブルの行を削除したくないだけです。
削除を受け入れる購入済みのソフトウェアも使用しているため、MySQLレベルで実行する必要があります。MySQL5.1.66-cllを使用します
私はこれのためにそこにあるさまざまなトリガーを微調整しようとしましたが、成功することができません。
他の人がコメントで述べたように、これを行う適切な方法は、通常、テーブル レベルの許可を使用することです。
ただし、要求どおりにトリガーを使用して実行できます。
これを行う 1 つの方法は、「before delete」トリガーを使用し、常にエラーを引き起こす単純な SQL ステートメントを実行することです。たとえば、「do_not_delete」のような存在しないストアド プロシージャを呼び出すことができます。
次のようなことを試してください:
delimiter $$
drop trigger if exists tr_your_table_no_deletes $$
create trigger tr_your_table_no_deletes before delete on your_table for each row begin
call do_not_delete();
end $$
delimiter ;