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