고수님들 mysql 초보입니다.
로그인 후 로그인한 정보 조회할 경우 조회가 되지 않습니다. - sleep 1 초정도 주면 조회됨
구조는 login - token 발행 - token으로 정보 사용자 정보 조회
각각 프로시저로 구성되어있습니다.
token table에 insert 프로시저 ---------------------------------------------------------------------------------- START TRANSACTION; INSERT INTO tm_playerapi (player_fk, token, cid, secret, error, regdate, delete_flag) VALUES (@nPK, i_szToken, szClient_ID, szClient_Secret, nError, UTC_TIMESTAMP(), nDelete_Flag); SET @nPK_New = LAST_INSERT_ID(); IF (ISNULL(@nPK_New) OR @nPK_New = 0 OR @nPK_New = @nPK_Old) THEN SET o_nRetCode = -111100; SET o_szRetMSG = "INSERT tm_playerapi Fail"; ROLLBACK; LEAVE Proc_Main; END IF; COMMIT;
-----------------------------------------------------------------------------------------------------------
token insert 후 프로시저 종료
php 에서 로그인하면 token 발행 진행되고 바로 홈화면에서 사용자 정보 조회하는데 등록되지 않은 token이라고 나옴
-----------------------------------------------------------------------------------------------------------
IN i_szToken VARCHAR (500), OUT o_szPlayer_ID VARCHAR (40) ) BEGIN DECLARE szPlayer_ID VARCHAR (40) DEFAULT NULL; SET @dtUTCNow = UTC_TIMESTAMP(); SELECT PL.player_id INTO szPlayer_ID FROM tm_player AS PL INNER JOIN tm_playerapi AS PA ON PA.player_fk = PL.player_pk WHERE PA.token = i_szToken AND TIMESTAMPDIFF(second, PA.regdate, @dtUTCNow) > 0; SET o_szPlayer_ID = szPlayer_ID;
-----------------------------------------------------------------------------------------------------------
token으로 사용자 id 알아오는 프로시저 여기서 null 로 나오고 다시 동일한 token으로 진행하면 정상 진행 됨...
도와주십쇼