大家有遇到过这么奇怪的问题没?进来看看~~

frankonlyfine 2010-10-25 04:50:29

drop PROCEDURE if exists test;
CREATE PROCEDURE test(
UserName varchar(40),
out ErrInfo varchar(40),
out retCode int
)
begin

set retCode=1;
if exists(select MemberID from tblmember where `username`=UserName) then
set ErrInfo='该用户名已经被注册过了!!';
set retCode=-1;
end if;

select retCode,ErrInfo,UserName;
end



然后我调用的时候call test('frank00',@a, @b); 明明库里没有,但还是赋值为已存在,有谁能帮我分析测试下吗?

下面是表结构跟数据



SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for tblmember
-- ----------------------------
DROP TABLE IF EXISTS `tblmember`;
CREATE TABLE `tblmember` (
`MemberID` int(11) NOT NULL AUTO_INCREMENT COMMENT '下级推广员ID',
`parentId` int(11) NOT NULL,
`UserName` varchar(30) NOT NULL,
`UserType` tinyint(4) NOT NULL,
`TrueName` varchar(30) NOT NULL,
`TK_Password` varchar(30) DEFAULT NULL,
`CardNo` varchar(20) DEFAULT NULL,
`CardPic` varchar(50) DEFAULT NULL,
`Email` varchar(60) DEFAULT NULL,
`Phone` varchar(20) DEFAULT NULL,
`Balance` double(10,4) DEFAULT NULL,
`State` tinyint(4) DEFAULT NULL,
`CreateTime` datetime DEFAULT NULL,
`BankName` varchar(20) DEFAULT NULL,
`BankCardNo` varchar(20) DEFAULT NULL,
`BankUserName` varchar(15) DEFAULT NULL,
`BankSubName` varchar(50) DEFAULT NULL,
PRIMARY KEY (`MemberID`),
KEY `UserName` (`UserName`),
KEY `parentId` (`parentId`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8 COMMENT='下级推广员ID';

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `tblmember` VALUES ('1', '0', 'test', '0', 'test', '123', null, null, null, null, '0.0000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('2', '1', 'test2', '0', 'test', '123', null, null, null, null, '0.0000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('3', '2', 'test3', '0', 'test', '123', null, null, null, null, '0.0000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('4', '3', 'test4', '0', 'test', '123', null, null, null, null, '0.0000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('5', '4', 'test', '0', 'test', null, null, null, null, null, '0.0000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('6', '5', 'test', '0', 'test', '123', null, null, null, null, '0.0000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('7', '6', 'test2', '0', 'test', '123', null, null, null, null, '0.0000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('8', '7', 'test3', '0', 'test', '123', null, null, null, null, '0.0002', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('9', '8', 'test4', '0', 'test', '123', null, null, null, null, '0.0020', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('10', '9', 'test', '0', 'test', null, null, null, null, null, '0.0200', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('11', '10', 'test', '0', 'test', null, null, null, null, null, '0.2000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('12', '11', 'test', '0', 'test', null, null, null, null, null, '2.0000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('13', '12', 'test', '0', 'test', null, null, null, null, null, '20.0000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('14', '13', 'test', '0', 'test', null, null, null, null, null, '200.0000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('15', '14', 'test', '0', 'test', null, null, null, null, null, '1000.0000', null, null, null, null, null, null);
INSERT INTO `tblmember` VALUES ('16', '0', 'frankonlyfine', '1', '向华胜', '111111', '4300989899121098', '0000', '5187543@qq.com', '13482821098', '0.0000', '0', '2010-10-25 14:55:26', '11', '', '', '');
INSERT INTO `tblmember` VALUES ('17', '0', 'frankonlyfine', '1', '向华胜', '111111', '4300989899121098', '0000', '5187543@qq.com', '13482821098', '0.0000', '0', '2010-10-25 14:58:35', '11', '', '', '');
...全文
62 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
frankonlyfine 2010-10-25
  • 打赏
  • 举报
回复
哦。。。原来这么简单~~谢谢楼上~结贴~
wwwwb 2010-10-25
  • 打赏
  • 举报
回复
DELIMITER $$

USE `keyanguanli`$$

DROP PROCEDURE IF EXISTS `test`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(
aUserName VARCHAR(40),
OUT ErrInfo VARCHAR(40),
OUT retCode INT
)
BEGIN
SET retCode=1;
IF EXISTS(SELECT MemberID FROM tblmember WHERE `username`=aUserName) THEN
SET ErrInfo='该用户名已经被注册过了!!';
SET retCode=-1;
END IF;
SELECT retCode,ErrInfo,`aUserName`;
END$$

DELIMITER ;

CALL test('frank00',@a, @b);

变量名与字段名重复,优先字段名
frankonlyfine 2010-10-25
  • 打赏
  • 举报
回复
在线等呀~~急~~!

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧