错误:1449,"指定为定义者的用户('root'@'localhost')不存在"

Ore*_*reo 2 mysql sqlyog

当我尝试通过我的应用程序检索数据或将数据插入我的数据库时,我收到上述错误.proc代码如下

CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_createUser`(
    IN p_name VARCHAR(20),
    IN p_username VARCHAR(20),
    IN p_password VARCHAR(20)
)
BEGIN
    if ( select exists (select 1 from tbl_user where user_username = p_username) ) THEN

        select 'Username Exists !!';

    ELSE

        insert into tbl_user
        (
            user_name,
            user_username,
            user_password
        )
        values
        (
            p_name,
            p_username,
            p_password
        );

    END IF;
END $$
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

但是,当我在sqlyog中运行以下查询时,它返回1: SELECT EXISTS(SELECT 1 FROM mysql.user WHERE USER = 'root');

我正在使用XAMPP和Python来制作我的应用程序.提前致谢.

小智 14

grant all on *.* to 'root'@'%' identified by 'password' with grant option; 
Run Code Online (Sandbox Code Playgroud)

检查:指定为定义者的MySQL用户不存在MySQL错误1449:指定为定义者的用户不存在

  • 该解决方案与错误消息一样晦涩,但是有效! (2认同)