Я использую MySQL - фактически MariaDB из PHPMyAdmin- и пытаюсь написать вставку внутри хранимой процедуры, и по понятным причинам (из соображений безопасности) это не разрешено.
Я пытался изменить разрешения с помощью GRANT.ВЫПОЛНЕНИЕ ПО ПРОЦЕДУРЕ.
GRANT EXECUTE ON PROCEDURE test.putDataInFull TO 'root'@'localhost'
Я действительно наткнулся здесь на стену, есть идеи?
edit:
DELIMITER //
CREATE PROCEDURE putDataInFull (IN matchid INT(11))
BEGIN
DECLARE koula int(11);
DECLARE c varchar(255);
SET @koula = matchid;
SET @c := concat('insert into log (match_id, comment) values (?,\'inPUtDataWeTrtust\');');
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
SELECT CONCAT(@c, ' is not valid');
END;
PREPARE stmt FROM @c;
EXECUTE stmt USING @koula;
DEALLOCATE PREPARE stmt;
END //
DELIMITER ;
ps это не производственный проект,просто весело, поэтому мне действительно наплевать на безопасность.