如何让mysql的自动编号从1开始
2 truncate table 你的表名
这样不但将清除数据,而且可以重新位置identity属性的字段
不过以上都不能保留现有数据哦。
以下为设置MySQL自动增长从某个指定的数开始
1 创建表的时候就设置:
CREATE TABLE `Test` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`class` varchar(2) NOT NULL,
`NAME` varchar(50) NOT NULL,
`SEX` varchar(2) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MEMORY AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC
2 如果在创建表时没有设置,后来想设置,可以通过修改实现:
alter table Test auto_increment = 1000
分类: mysql
可能的反方案:需要找到系统表,查找到对应该表键对应的计数器,进行修改。
但这样可能引起一系列的系统同步的问题。
如果系统没有提供对自增加值的修改,还是不要改的好。
方法一: 如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数truncate table
表名
方法二: dbcc checkident ('table_name', reseed,
new_reseed_value) 当前值设置为 new_reseed_value。如果自创建表后没有将行插入该表,则在执行 DBCC CHECKIDENT
后插入的第一行将使用 new_reseed_value 作为标识。否则,下一个插入的行将使用 new_reseed_value + 1。如果
new_reseed_value 的值小于标识列中的最大值,以后引用该表时将产生 2627 号错误信息。
方法二不会清空已有数据, *** 作比较灵活,不仅可以将自增值归零,也适用于删除大量连续行后,重新设置自增值并插入新的数据;或从新的值开始,当然不能和已有的冲突。
$sql="delete from $table_vote"
mysql_query($sql, $link)
$sql="alter table $table_vote auto_increment=1"
mysql_query($sql,
$link)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)