更新时间:2023-02-04 13:43:01
我认为,只有一种方法:
I think, there is only one way:
CREATE DEFINER=`root`@`localhost` PROCEDURE `goto_stage`(IN `inc` INT, IN `session_token` VARCHAR(64))
LANGUAGE SQL
NOT DETERMINISTIC
MODIFIES SQL DATA
SQL SECURITY DEFINER
COMMENT ''
BEGIN
DECLARE new_stage INT;
SELECT g.stage + inc INTO new_stage FROM games g INNER JOIN sessions s ON
g.expired = 0 AND s.user = g.user AND s.token = session_token;
UPDATE games SET stage = new_stage;
SELECT script FROM d_stages WHERE id = new_stage;
END