當我嘗試通過我的應用程序檢索數據或將數據插入到數據庫時,出現上述錯誤。我們把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使我的應用程序。 在此先感謝。
是什麼'選擇mysql.user所在主機用戶=「root''回報? – Barmar
我的猜測是它實際上是'root @%',而不是'root @ localhost'。 – Barmar
@Barmar 127.0.0.1, :: 1, localhost – oreo