我已经对这个问题进行了很多搜索,但找不到解决方案。
我正在使用存储过程:
DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `GetImages`(
in search Varchar(80)
)
BEGIN
select
image_path
from check_images
where checkNumber=search;
END
它无法在localhost中运行并且出现以下错误:
错误号码:1449
指定为定义者的用户('root'@'%')不存在
但如果我用“localhost”('root'@'localhost')替换%sign,那么一切都很完美。此外,我不允许更改存储过程。所以请告诉我如何克服这个问题的最佳解决方案。
我会感激任何帮助。
由于
答案 0 :(得分:8)
消息很清楚,用户不存在。
在MySQL中,用户帐户包含用户名和主机定义组件。
将定义者更改为'root'@'localhost'
或为'root'@'%'