CREATE TABLE new_table_name LIKE old_table_name,带有old_table_name的AUTO_INCREMENT值

时间:2010-03-02 09:15:43

标签: mysql auto-increment sql-like create-table

我可以在mysql客户端创建一个具有旧表自动归档状态的新表吗?

我认为,ALTER TABLE new_table_name AUTO_INCREMENT=@my_autoincr_iment对我有帮助,但这种结构必须使用恒定值。 我不想使用困难的剧本。

2 个答案:

答案 0 :(得分:7)

的MySQL> create table new_table like old_table;

的MySQL> select @my_auto_increment:=auto_increment from information_schema.tables where table_name='old_table';

的MySQL> set @query = CONCAT("alter table new_table auto_increment = ", @my_auto_increment);

的MySQL> prepare stmt from @query;

的MySQL> execute stmt;

的MySQL> deallocate prepare stmt;

对我哥哥来说!

答案 1 :(得分:1)

您的CREATE TABLE可以指定要使用的auto_increment:

mysql> create table foo (i int primary key auto_increment, s varchar(12)) auto_increment = 10;
Query OK, 0 rows affected (0.19 sec)

mysql> insert into foo (s) values ("s");
Query OK, 1 row affected (0.09 sec)

mysql> select * from foo;
+----+------+
| i  | s    |
+----+------+
| 10 | s    |
+----+------+
1 row in set (0.03 sec)