CREATE TRIGGER `update_2`
AFTER UPDATE ON `itm_master`
FOR EACH ROW
BEGIN
IF NEW.transfer_status='YES' THEN
INSERT into activity_tbl (`evnt_date`,`con_type`,`username`,`item_serial`,`item_model`,`item_type`,`to_status`)
VALUES (now(),'Update',NEW.user,NEW.item_serial,NEW.master_item_model,NEW.master_item_type,NEW.item_status);
END IF;
END
item_masterテーブルでtransfer_statusフィールドが更新されるたびにactivity_tblにデータを挿入するトリガを作成したいとします。私は、このクエリを使用しますが、私は、MySQLエラーにカラムが更新されたときにデータを挿入するmysqlトリガを作成する
CREATE TRIGGER `update_2`
AFTER UPDATE ON `itm_master`
FOR EACH ROW
BEGIN
IF NEW.transfer_status='YES' THEN
INSERT into activity_tbl (`evnt_date`,`con_type`,`username`,`item_serial`,`item_model`,`item_type`,`to_status`)
VALUES (now(),'Update',NEW.user,NEW.item_serial,NEW.master_item_model,NEW.master_item_type,NEW.item_status);
を受けていますMySQLは言った:ドキュメント
1064 - Erreurデsyntaxe PRASド '' ア・ラ・LIGNE 7
私は個人的にトリガーを避けるようにします。コードを見ると、このデータが追加されたような魔法のように見えます。他のデータが挿入されたときにデータを挿入する方が読みやすくなります。それ以外に、私はそのエラーメッセージを読むことができません... – ArtisticPhoenix
私はその1つに同意します – Drew
あなたのコードは、最初のブロックまたは秒ですか?私はそれが不完全なので、2番目の構文エラーがあることがわかります(END IF、BEGINのENDはありません)。それはエラーが英語で言うことですか? – Robert