Mysql进程:DEFINER=`root`@`%`不是本地主机中的定义器(';root';@';%&';)
--当我执行: 调用getOldValue('notification',5) --错误:指定为定义者的用户('root'@'')不存在Mysql进程:DEFINER=`root`@`%`不是本地主机中的定义器(';root';@';%&';),mysql,stored-procedures,Mysql,Stored Procedures,--当我执行: 调用getOldValue('notification',5) --错误:指定为定义者的用户('root'@'')不存在 DELIMITER $$ CREATE DEFINER=`root`@`%` PROCEDURE `getOldValue`(IN `_table_name` TEXT, IN `_row_id` INT) BEGIN DECLARE query TEXT; DECLARE id INT; SET @query = null;
DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `getOldValue`(IN `_table_name` TEXT, IN `_row_id` INT)
BEGIN
DECLARE query TEXT;
DECLARE id INT;
SET @query = null;
SET @id = _row_id;
SET @tb = _table_name;
SET @query = concat('select * from ',@tb,' where id = ',@id,' limit 1');
prepare stmt from @query;
execute stmt;
END$$
DELIMITER ;