テーブルにトリガーを作成しようとしています。データを挿入すると、ある列 (メモ) からデータを取得し、別のテーブル (masterData) の列メモ (追加) をデータで更新しようとします。見つからない場合は、insert ステートメントを別のテーブルにコピーします (failedtofind)。私のトリガーは以下のとおりですが、IF ステートメントに構文エラーがあると報告され、うまく動作しません。
DELIMITER $$
TRIGGER `testdb`.`testTable`
AFTER INSERT ON `testdb`.`testTable`
FOR EACH ROW
BEGIN
IF ((SELECT PrimaryID FROM testdb.masterData WHERE PrimaryID = NEW.PrimaryID) > 0 )
UPDATE masterData AS t
SET t.Additional = NEW.Notes
WHERE t.PrimaryID = NEW.PrimaryID;
ELSE
INSERT IGNORE INTO failedtofind SET (all the columns);
END IF;
END$$
また、これは私がすべき方法ですか?私はデータベースに関しては初心者なので、いつものように、何か間違ったことをしている場合は、お気軽に修正してください。