通过事务机制,可保证流水号的更新和读取的完整性。
DELIMITER //
#获取流水号
DROP PROCEDURE IF EXISTS get_sid;
CREATE PROCEDURE get_sid(para_domain VARCHAR(20), out para_sid BIGINT UNSIGNED)
BEGIN
START TRANSACTION;
UPDATE t_sid SET sID=sID+1 WHERE cDomain=para_domain;
SELECT sID INTO para_sid FROM t_sid WHERE cDomain=para_domain;
COMMIT;
END
//
DELIMITER ;