トリガーは次のとおりです。
DELIMITER //
CREATE TRIGGER `Conturi_BI` BEFORE INSERT ON `Conturi` FOR EACH ROW BEGIN
SET NEW.CUI_cod = digits(NEW.CUI);
END//
DELIMITER ;
照合と重複検索を高速化するために、ユーザー入力に数字関数を適用しているだけですが、それを実装して以来、一部のインサートがハングします。更新用に同様のものを作成しましたが、同じ問題はありません。
数字関数は私が作成したもので、トリガーと挿入はほとんどの場合正常に機能します。
要求に応じて、数字は機能します。
BEGIN
DECLARE i, len SMALLINT DEFAULT 1;
DECLARE ret CHAR(32) DEFAULT '';
DECLARE c CHAR(1);
SET len = CHAR_LENGTH( str );
REPEAT
BEGIN
SET c = MID( str, i, 1 );
IF c BETWEEN '0' AND '9' THEN
SET ret=CONCAT(ret,c);
END IF;
SET i = i + 1;
END;
UNTIL i > len END REPEAT;
RETURN ret;
END