2017-08-30 8 views
-2

id、name、designation、salaryという列のテーブルtest1があります。test1に挿入されているtest2にすべてのレコードを挿入し、test1で更新されたtest2のすべてのレコードを更新したい入れ替え後のMySQLのトリガー

+1

さて、次にmysqlの作成トリガ構文を試してみてください。それほど難しいことではありません。 – fancyPants

+0

実際にはmysqlに新しいですが、これはMSSQLと比較するとかなり複雑です –

+1

本当ですか?私の印象は、MySQLはSQL Serverよりもずっと簡単だということです。また、このマニュアルはSQL Serverの1000倍も優れています。 – fancyPants

答えて

0

更新時に2つのトリガーを作成し、挿入時に1つはまだテストしていませんが、このようなことがあります。

CREATE TRIGGER new_row_added 
AFTER INSERT ON test1 
FOR EACH ROW 
    UPDATE test2 
     SET name=NEW.name, designation=NEW.designation,salary=NEW.salary 
     WHERE id=NEW.id ; 

CREATE TRIGGER ins_sum AFTER UPDATE ON test1 
    FOR EACH ROW 
    BEGIN 
     IF NEW.ts <> OLD.ts THEN 
      INSERT INTO test2 (name, designation,salary) 
      VALUES(NEW.name, NEW.designation,NEW.salary); 
     END IF; 
    END; 
+0

私は更新後にレコードを挿入したくないちょうど私はtest2でレコードを更新したい –