4

MySQL 5.1で特定のテーブルの行が削除されないようにするにはどうすればよいですか?

where基準は必要ありません。これらのテーブルの行を削除したくないだけです。

削除を受け入れる購入済みのソフトウェアも使用しているため、MySQLレベルで実行する必要があります。MySQL5.1.66-cllを使用します

私はこれのためにそこにあるさまざまなトリガーを微調整しようとしましたが、成功することができません。

4

1 に答える 1

2

他の人がコメントで述べたように、これを行う適切な方法は、通常、テーブル レベルの許可を使用することです。

ただし、要求どおりにトリガーを使用して実行できます。

これを行う 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 ;
于 2013-01-14T14:54:24.637 に答える