第一个问题SELECT cdaytime INTO tcdaytime,uid INTO tcuid FROM sz_app_daylogin AS d WHERE uid=iuid;为什么在一个 SELECT 里面 into 2此赋值就出错
错误信息
-------------
Undeclared variable: uid第二个问题错误信息
-------------------------
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'begin
update sz_app_daylogin set cnum=cnum+1,cdaytime=tcdaytime where uid=iui' at line 11以下是关于这个错误的SQLDELIMITER $$CREATE
PROCEDURE `login_updatedaylogin`(IN iuid INT,IN tnowtime INT,IN righttime INT)BEGIN
DECLARE tcdaytime INT DEFAULT 0;
DECLARE tcuid INT DEFAULT 0;SELECT cdaytime INTO tcdaytime FROM sz_app_daylogin AS d WHERE d.uid=iuid;
SELECT d.uid INTO tcuid FROM sz_app_daylogin AS d WHERE d.uid=iuid;
IF tcuid>0 THEN
BEGIN
IF tcdaytime=righttime
BEGIN
UPDATE sz_app_daylogin SET cnum=cnum+1,cdaytime=tcdaytime WHERE uid=iuid;#连续加1
END;
ELSE
BEGIN
IF tcdaytime=tnowtime
BEGIN
#同一天登录,已经加1,忽略
END;
ELSE
BEGIN
UPDATE sz_app_daylogin SET cnum=0,cdaytime=tcdaytime WHERE uid=iuid;#不连续,清零
END;
END IF;
END
END IF;
END;
ELSE
BEGIN
INSERT INTO sz_app_daylogin(`uid`,`cdaytime`,`cnum`) VALUES (iuid,tnowtime,0);
END;
END IF;
END;
DELIMITER ;
错误信息
-------------
Undeclared variable: uid第二个问题错误信息
-------------------------
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'begin
update sz_app_daylogin set cnum=cnum+1,cdaytime=tcdaytime where uid=iui' at line 11以下是关于这个错误的SQLDELIMITER $$CREATE
PROCEDURE `login_updatedaylogin`(IN iuid INT,IN tnowtime INT,IN righttime INT)BEGIN
DECLARE tcdaytime INT DEFAULT 0;
DECLARE tcuid INT DEFAULT 0;SELECT cdaytime INTO tcdaytime FROM sz_app_daylogin AS d WHERE d.uid=iuid;
SELECT d.uid INTO tcuid FROM sz_app_daylogin AS d WHERE d.uid=iuid;
IF tcuid>0 THEN
BEGIN
IF tcdaytime=righttime
BEGIN
UPDATE sz_app_daylogin SET cnum=cnum+1,cdaytime=tcdaytime WHERE uid=iuid;#连续加1
END;
ELSE
BEGIN
IF tcdaytime=tnowtime
BEGIN
#同一天登录,已经加1,忽略
END;
ELSE
BEGIN
UPDATE sz_app_daylogin SET cnum=0,cdaytime=tcdaytime WHERE uid=iuid;#不连续,清零
END;
END IF;
END
END IF;
END;
ELSE
BEGIN
INSERT INTO sz_app_daylogin(`uid`,`cdaytime`,`cnum`) VALUES (iuid,tnowtime,0);
END;
END IF;
END;
DELIMITER ;
DELIMITER $$CREATE
PROCEDURE `login_updatedaylogin`(IN iuid INT,IN tnowtime INT,IN righttime INT)BEGIN
DECLARE tcdaytime INT DEFAULT 0;
DECLARE tcuid INT DEFAULT 0;SELECT cdaytime,uid INTO tcdaytime,tcuid FROM sz_app_daylogin WHERE uid=iuid;
#select cdaytime into tcdaytime from sz_app_daylogin as d where d.uid=iuid;
#select d.uid into tcuid from sz_app_daylogin as d where d.uid=iuid;
IF tcuid>0 THEN
BEGIN
IF tcdaytime=righttime THEN
BEGIN
UPDATE sz_app_daylogin SET cnum=cnum+1,cdaytime=tcdaytime WHERE uid=iuid;#连续加1
END;
ELSE
BEGIN
IF tcdaytime=tnowtimet THEN
BEGIN
#同一天登录,已经加1,忽略
END;
ELSE
BEGIN
UPDATE sz_app_daylogin SET cnum=0,cdaytime=tcdaytime WHERE uid=iuid;#不连续,清零
END;
END IF;
END
END IF;
END;
ELSE
BEGIN
INSERT INTO sz_app_daylogin(`uid`,`cdaytime`,`cnum`) VALUES (iuid,tnowtime,0);
END;
END IF;
END;
DELIMITER ;