CREATE TABLE new_table_name COMME old_table_name avec old_table_name ses valeurs AUTO_INCREMENT
-
23-09-2019 - |
Question
Puis-je créer une nouvelle table avec un ancien état de autoincriment de la table dans le client MySQL?
Je pense que ALTER TABLE new_table_name AUTO_INCREMENT=@my_autoincr_iment
me aide, mais cette construction doit utiliser avec une valeur constante.
Je ne veux pas utiliser un script difficile.
La solution
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;
Thx à mon frère!
Autres conseils
Votre CREATE TABLE peut spécifier le auto_increment à utiliser:
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)