18

ではmysql、トリガーを作成して、それに関する情報を次のように表示できます。

mysql> show triggers like 'fooTrigger';

このコマンドは、一致するトリガーを示す行を含む、select ステートメントに非常によく似た出力を提供します。表示されている行の列を更新することはできますか?

たとえば、1 つの列に という名前が付けられStatement、トリガーがアクティブ化されたときに何が起こるかを定義します。トリガーが別のことをするようにStatementフィールドを変更することは可能ですか? または、トリガーを再設定するfooTrigger必要がありますか?dropcreate

4

3 に答える 3

24

MySQL 5.5 以降、トリガーを削除して再作成する必要があります。トリガーをドロップせずに列
を更新することはできません。Statement

ドキュメンテーション: CREATE TRIGGER DROP TRIGGER

INFORMATION_SCHEMA テーブルを使用して、トリガーに関する情報にアクセスすることもできます。

SELECT * FROM INFORMATION_SCHEMA.TRIGGERS

ただし、これらのテーブルは実際にはビューであるため、使用することはできませんUPDATE
これは、SHOW TRIGGERS を使用するよりも、情報にアクセスして操作するのに便利な方法です。

ドキュメント: INFORMATION_SCHEMA.TRIGGERS

于 2012-07-17T16:13:13.343 に答える
0

Windows OS では、既存のデータベース オブジェクトを表示および編集するために、 Connector/Net Visual Studio Integrationが必要になる場合があります。制限は、ループ 内のトリガー本体のみを編集できることです。For each row ...

それ以外の場合、唯一のオプションは、トリガーをドロップして再作成することです。
ただし、トリガーを削除する前に、トリガーに関連付けられているテーブルがロックされており
、トリガーが再作成された後にロックが解除されていることを確認してください。

于 2012-07-17T16:19:38.480 に答える