Mysql 使用旧表名称的自动增量值创建新表名称,就像旧表名称一样
我可以在mysql客户端中创建一个具有旧表自动加入状态的新表吗 我认为,ALTER TABLE new_TABLE_name AUTO_INCREMENT=@my_autoincr_iment对我有帮助,但这个构造必须使用常量值。Mysql 使用旧表名称的自动增量值创建新表名称,就像旧表名称一样,mysql,auto-increment,sql-like,create-table,Mysql,Auto Increment,Sql Like,Create Table,我可以在mysql客户端中创建一个具有旧表自动加入状态的新表吗 我认为,ALTER TABLE new_TABLE_name AUTO_INCREMENT=@my_autoincr_iment对我有帮助,但这个构造必须使用常量值。 我不想使用困难的脚本。您的创建表可以指定要使用的自动增量: mysql> create table foo (i int primary key auto_increment, s varchar(12)) auto_increment = 10; Query
我不想使用困难的脚本。您的创建表可以指定要使用的自动增量:
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)
mysql>像旧表一样创建新表
mysql>选择@my_auto_increment:=信息_schema.tables中的auto_increment,其中table_name='old_table'
mysql>set@query=CONCATalter table new\u table auto\u increment=,@my\u auto\u increment
mysql>从@query准备stmt
mysql>执行stmt
mysql>解除分配准备stmt
谢谢我的兄弟 我不知道如何发布mysql的语法。你的例子不合适。mysql>set@my\u auto\u increment=555;查询确定,0行受影响0.00秒mysql>选择@my_auto_increment;+------------+|@my|u auto_increment |+-------------+| 555 |+-------------+1行,设置为0.00秒mysql>ALTER TABLE zz auto_increment=@my|u auto_increment;错误1064 42000:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“@my_auto_increment”附近使用的正确语法提问者希望使用LIKE子句创建新表。当您需要创建多个表(如归档庞大的数据集)时,通常会出现这种情况,因为提供单独的自动增量值和表定义是不实际的。