我可以在 mysql 客户端中使用旧表的自动增量状态创建一个新表吗?
我认为,这ALTER TABLE new_table_name AUTO_INCREMENT=@my_autoincr_iment
对我有帮助,但这种结构必须使用恒定值。我不想使用困难的脚本。
我可以在 mysql 客户端中使用旧表的自动增量状态创建一个新表吗?
我认为,这ALTER TABLE new_table_name AUTO_INCREMENT=@my_autoincr_iment
对我有帮助,但这种结构必须使用恒定值。我不想使用困难的脚本。
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;
谢谢我的兄弟!
您的 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)