データが新しい場合にのみ、あるテーブルの値を別のテーブルに挿入する必要がある最初のトリガーを実行しようとしています。以下は私のコードです:
BEGIN
DECLARE email VARCHAR(30);
INSERT INTO data_audit SET data_audit_id = OLD.id;
IF (NEW.email = OLD.email) THEN
email = NULL;
ELSE
email = OLD.email;
END IF;
UPDATE corporate_audit SET email = email WHERE corporate_audit_id = last_insert_id();
END
次のエラーが発生します:
SQL構文にエラーがあります。'= NULLの近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。ELSE email = OLD.email; END IF; 5行目でcorporate_auditSET'を更新します
また、IF-THENブロックなしでコードを実行し、OLD.emailを保存すると、監査テーブルに新しいIDが挿入されるだけで、フィールドは更新されません。案内してください