USE test; DROP PROCEDURE IF EXISTS pro_testincrement; DELIMITER && CREATE PROCEDURE pro_testincrement(IN inr int) BEGIN DECLARE i INT DEFAULT 0; select max(id) into i from test.testpro; update test.testpro set id = id+inr where id = i; select max(id) from test.testpro; END && DELIMITER ; mysql> call pro_testincrement (3); +---------+ | max(id) | +---------+ | 68 | +---------+ 1 row in set (0.01 sec) Query OK, 0 rows affected (0.01 sec) mysql> call pro_testincrement (3); +---------+ | max(id) | +---------+ | 71 | +---------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.00 sec) mysql> call pro_testincrement (1); +---------+ | max(id) | +---------+ | 72 | +---------+ 1 row in set (0.02 sec) Query OK, 0 rows affected (0.02 sec)