我有一个带有自动增量字段的mysql表。我使用自动增量计数器作为数据库中的id生成器。
我需要一种方法来递增计数器,获取新数字但不插入任何数据。
有没有容易做到的?
答案 0 :(得分:2)
如果您将它用作ID生成器,那么(除了更改表格之外)您必须插入一些内容才能获得下一个值。
在不插入任何数据的情况下执行此操作的最简单方法是执行INSERT
,然后调用LAST_INSERT_ID
,然后发出ROLLBACK
。这将回滚插入,但下一个ID仍将增加。
答案 1 :(得分:0)
使用此查询获取表的状态
SHOW TABLE STATUS LIKE 'table_name'
会有一个字段Auto_increment
,其中包含您想要的值
使用PHP提取值
$result = mysql_query("SHOW TABLE STATUS LIKE 'table_name'");
$row = mysql_fetch_assoc($result);
$nextAutoIncrement = $row['Auto_increment'];
答案 2 :(得分:-1)
我认为您想要更改表格,以便您可以使用此
ALTER TABLE table_name AUTO_INCREMENT = id+1
此处id将是您的自动增量字段。 但是,自动增量字段相对于该列中的最大值递增。