1DELIMITER $$; 2CREATE PROCEDURE autoinc_mdev15353_one(engine VARCHAR(64), t VARCHAR(64)) 3BEGIN 4 DECLARE query TEXT DEFAULT 'CREATE TABLE t1 (' 5 ' id TTT NOT NULL AUTO_INCREMENT,' 6 ' name CHAR(30) NOT NULL,' 7 ' PRIMARY KEY (id)) ENGINE=EEE'; 8 EXECUTE IMMEDIATE REPLACE(REPLACE(query,'TTT', t), 'EEE', engine); 9 SHOW CREATE TABLE t1; 10 INSERT INTO t1 (name) VALUES ('dog'); 11 SELECT * FROM t1; 12 UPDATE t1 SET id=-1 WHERE id=1; 13 SELECT * FROM t1; 14 INSERT INTO t1 (name) VALUES ('cat'); 15 SELECT * FROM t1; 16 DROP TABLE t1; 17END; 18$$ 19DELIMITER ;$$ 20 21CALL autoinc_mdev15353_one(@engine, 'tinyint'); 22CALL autoinc_mdev15353_one(@engine, 'smallint'); 23CALL autoinc_mdev15353_one(@engine, 'mediumint'); 24CALL autoinc_mdev15353_one(@engine, 'int'); 25CALL autoinc_mdev15353_one(@engine, 'bigint'); 26CALL autoinc_mdev15353_one(@engine, 'float'); 27CALL autoinc_mdev15353_one(@engine, 'double'); 28 29DROP PROCEDURE autoinc_mdev15353_one; 30