2016-07-13 19 views
2

當我嘗試通過我的應用程序檢索數據或將數據插入到數據庫時,出現上述錯誤。我們把proc代碼如下錯誤:1449,「用戶指定爲定義者('root'@'localhost')不存在」

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 ; 

然而,當我在SQLyog的運行下面的查詢則返回1: SELECT EXISTS(SELECT 1 FROM mysql.user WHERE USER = 'root');

我使用的XAMPP和Python使我的應用程序。 在此先感謝。

+0

是什麼'選擇mysql.user所在主機用戶=「root''回報? – Barmar

+0

我的猜測是它實際上是'root @%',而不是'root @ localhost'。 – Barmar

+0

@Barmar 127.0.0.1, :: 1, localhost – oreo

回答

相關問題