DELIMITER $$
CREATE
TRIGGER `update_tbl1` AFTER UPDATE
ON `tbl1`
FOR EACH ROW BEGIN
IF (SELECT count(*) FROM tbl1 WHERE stn=NEW.stn) = 1
THEN
UPDATE tbl2 SET date_posted=NEW.date_posted WHERE stn=NEW.stn;
ELSE
INSERT INTO tbl2 (stn) VALUES (NEW.stn);
END IF
END$$
DELIMITER ;
このコードの動作をしようとしたが無駄にしています、私は2つのテーブルを持っている、と私はTBL1の場合はTBL2を更新するトリガーをしたいですデータがtbl2にすでに存在する場合にのみ更新され、そうでない場合は挿入されます。私のコードは実行可能と思われ、エラーは構文に関連しているようですが、どこに見つけることができません。
EDIT:
ここはエラーです:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTO tbl2 (stn) VALUES (NEW.stn); END IF END' at line 10
私はとても恥ずかしいですが、あなたのワシの目をありがとう! :) – xjshiya