次のような構文は次のようになります。
DELIMITER $$ /* if you're not using an editor, you must change the delimiter*/
CREATE
TRIGGER ai_jos_dhruprofile_each
AFTER INSERT
ON jos_dhruprofile
FOR EACH ROW
BEGIN
UPDATE jos_users
SET jos_users.department = NEW.department
WHERE jos_users.id = NEW.uid; /*<<<--- ; after every stament */
END $$ /* changed delimiter after the end */
DELIMITER ; /*make sure you set the delimiter back to the default*/
注意を私はお勧めのトリガー
の命名スキームにトリガーの名前をai
(after insert
という意味)とすると、いつ発火するかを知ることができますテーブルの意味は、db_dhruniversity.trigger1
のように意味がありません。
私はいつもを使用し、[A/B] + triggernameとして[D/I/U] _tablename_each、トリガ火災(前/後)(挿入/削除イベントため /私はいつも知っている方法更新)とそのテーブル。
トリガーがeach
行に発生することを記録することをお勧めします。したがって、トリガー名の末尾にeach
があります。
MySQLは文ごとに1回起動するトリガーをサポートしていません。まだです(ただし、今後変更される可能性があります)。
コンパイルエラーメッセージを表示できますか? – heximal