Я очень новичок в Mysql, возможно, не знаю или не понимаю чего-то существенного.
Не могли бы вы сообщить мне, почему "начать !!!"сообщение не вставлено в этот случай ?
DELIMITER $$
CREATE TABLE `_debugLogTable` (
`Message` varchar(255) DEFAULT NULL
) ENGINE=InnoDB $$
CREATE PROCEDURE `debug_msg`(msg VARCHAR(255))
BEGIN
insert into _debugLogTable select msg;
END$$
CREATE FUNCTION `ValueMeetsCondition`(value varchar(20)) RETURNS tinyint(1)
BEGIN
DECLARE ConditionValue INTEGER;
call debug_msg('begin !!!');
SET ConditionValue = CAST(`value` AS UNSIGNED);
call debug_msg('end !!!');
RETURN TRUE;
END$$
DELIMITER ;
Я знаю, что функция CAST
не работает, но почему call debug_msg('begin !!!');
не вставляет новую запись в таблицу ?!Там нет никаких транзакций!