0

新しい行がテーブルに挿入された後に実行されるトリガーを MySQL で構築しようとしています。エラーが検出された場合は、そのトリガーをテーブルに書き込みます。それ以外の場合は、エラーをテーブルに書き込みたくありません。無限の空白行を追加しないようにしたいです。

これが私のコードです:

CREATE 
TRIGGER character_validation4 AFTER INSERT 
ON address FOR EACH ROW 
Begin 
IF(New.city REGEXP '^[^a-zA-Z0-9]') 
THEN 
INSERT INTO errorlog (city, mainprocessid) Values("There is an error with the city", New.ID));
END

しかし、最終ブラケットにエラーが表示されます。

誰でも助けることができますか?ありがとう

4

2 に答える 2

2
DELIMITER \\

CREATE 
TRIGGER character_validation4 AFTER INSERT 
ON address FOR EACH ROW 
Begin 
IF(New.city REGEXP '^[^a-zA-Z0-9]') 
THEN 
INSERT INTO errorlog (city, mainprocessid) Values("There is an error with the city", New.ID);
END IF;
END \\

DELIMITER ;
于 2013-04-18T09:33:38.080 に答える
1

New.ID の直後に余分な「)」があるようです。こうやってみる

CREATE TRIGGER character_validation4 
AFTER INSERT ON address FOR EACH ROW Begin 
IF(New.city REGEXP '^[^a-zA-Z0-9]') THEN INSERT INTO errorlog (city, mainprocessid) 
Values("There is an error with the city", New.ID);
END IF;
END;
于 2013-04-18T09:33:32.410 に答える