1

現在、PHPmyadmin 内の MySQL で最初のトリガーを作成中です。あるテーブルのアイテムが更新されると、別のテーブルの行が挿入されるようにしたいと思います。2 番目のテーブルに挿入される行のいくつかの列は、最初のテーブルで更新される値によって決定されます。

したがって、テーブル A で更新が発生したときに、テーブル B に新しい行を INSERT する必要があります。また、テーブル B の列の値の一部は、更新されたテーブル A の行の値によって定義され、トリガーが実行されます。 .

以下のトリガーを見つけてください。

CREATE TRIGGER `before_categoryiteminstance_update` BEFORE UPDATE ON `TABLEA`
FOR EACH ROW BEGIN
declare f_guidcategoryiteminstance int; 
declare f_guidcategory int; 
INSERT INTO TABLEB
SET
f_guidcategoryiteminstance =(SELECT guidcategoryiteminstance FROM inserted),
f_guidcategory =(SELECT guidcategory FROM inserted),
guiduser= f_guidcategory,
guidcategoryinstance= f_guidcategoryiteminstance,
number= number +1,
dateofaction= NOW(); END

トリガーは DB 罰金に追加できます。ただし、テーブル A の行を更新しようとすると (トリガーが実行されるはずです)、挿入されたテーブルが存在しないというエラーが表示されます。ただし、Inserted は、トリガーの最初の部分の結果を含む論理テーブルであるべきだという印象を受けました。これは、トリガーが更新ではなく挿入で実行されている場合にのみ当てはまりますか? もしそうなら、更新トリガーに相当するものはありますか?

4

0 に答える 0