提交 9e1e758e authored 作者: Leon de Rooij's avatar Leon de Rooij

That stored procedure wasn't necessary :)

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk/contrib@15321 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 4b86fb08
......@@ -6,25 +6,6 @@ CREATE TABLE IF NOT EXISTS `pcli` (
UNIQUE KEY `ini_id` (`ini_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP PROCEDURE IF EXISTS get_and_incr_pcli_count;
delimiter $$
CREATE PROCEDURE get_and_incr_pcli_count(i VARCHAR(255), OUT c INT)
BEGIN
SET AUTOCOMMIT = 0;
START TRANSACTION;
SELECT `count` INTO c FROM `pcli` WHERE `ini_id` = i FOR UPDATE;
IF (c >= 0) THEN
SET c = c + 1;
UPDATE `pcli` SET `count` = c WHERE `ini_id` = i;
ELSE
SET c = 0;
INSERT INTO `pcli` (`ini_id`, `count`) VALUES (i, c);
END IF;
COMMIT;
END $$
delimiter ;
-- test with:
CALL get_and_incr_pcli_count('test', @c);
SELECT @c AS `count`;
-- test with: (Thanks Niels Draaisma)
INSERT INTO pcli (ini_id, count) VALUES ("test", @count := 0) ON DUPLICATE KEY UPDATE count = @count := count + 1;
SELECT @count AS count;
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论