我正在尝试编写一个MySQL函数,它返回用户名是否在我的表中。如下所示:
CREATE FUNCTION UserExists (pUserName VARCHAR(40))
RETURNS BIT DETERMINISTIC
BEGIN
DECLARE rVal BIT;
IF EXISTS (SELECT * FROM Users WHERE userName = pUserName)
THEN SET rVal = 1;
ELSE SET rVal = 0;
END IF;
RETURN rVal;
END;但是,我得到了一个错误。有什么想法吗?
发布于 2013-02-03 01:15:37
尝尝这个
IF(EXISTS(SELECT * FROM Users WHERE userName = pUserName))发布于 2013-02-03 01:12:10
使用用户定义的变量怎么样?
DELIMITER $$
CREATE FUNCTION UserExists (pUserName VARCHAR(40))
RETURNS BIT DETERMINISTIC
BEGIN
DECLARE rVal BIT;
SET @recCount := (SELECT COUNT(*) FROM Users WHERE userName = pUserName);
IF @recCount > 0 THEN
SET rVal = 1;
ELSE
SET rVal = 0;
END IF;
RETURN rVal;
END $$
DELIMITER ;发布于 2013-02-03 11:20:18
在查询mysql数据库之前,您需要使用%mysql sudo -u -p,然后给出您的命令。
https://stackoverflow.com/questions/14664280
复制相似问题