DELIMITER $$
CREATE TRIGGER insertTrigger BEFORE INSERT ON `agents`
FOR EACH ROW
BEGIN
DECLARE groupID int;
SET groupID = 0;
SET groupID = (SELECT id FROM `groups` WHERE `id` = NEW.group_id);
IF (groupID != 0) THEN
PRINT 'ID is ' + groupID;
ROLLBACK;
END IF;
END$$
DELIMITER ;
上記のトリガーは、外部キー ID がグループ テーブルに存在するかどうかを確認するために作成されます。
1) mySQL でエラー メッセージを出力するにはどうすればよいですか?
2) ROLLBACK 機能が動作しません。次のエラーメッセージが表示されました。「#1422 - ストアド関数またはトリガーでは、明示的または暗黙的なコミットは許可されていません。」