【发布时间】:2016-11-16 15:18:42
【问题描述】:
当我尝试通过我的应用程序检索数据或将数据插入数据库时出现上述错误。 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 ;
但是,当我在我的 sqlyog 中运行以下查询时,它返回 1:
SELECT EXISTS(SELECT 1 FROM mysql.user WHERE USER = 'root');
我正在使用 XAMPP 和 Python 来制作我的应用程序。 提前致谢。
【问题讨论】:
-
select host from mysql.user where user = 'root'返回什么? -
我猜它实际上是
root@%,而不是root@localhost。 -
@Barmar 127.0.0.1, ::1, 本地主机
-
@Barmar 您的意思是要在创建定义行中进行更改吗?
-
我猜它不会在查询中返回
localhost。现在我不明白您为什么会收到错误消息。