2012-07-27 89 views
1

我是MySQL的新手。我想要一个用户定义的函数来实现下面的功能。我有表具有rowid列,它具有UNIQUE,AUTO-INCREMENT,NOT NULL值。当表有100行时,下一个id值默认设置为101.但是当我删除50行时,然后添加一个新行,它又是101但不是51.如何创建&调用函数,根据当前的no更新值plz给出了完整的功能代码&如何在表中删除一些行时调用它。存储过程设置自动增量字段的起始值

回答

0

你可以尝试以下:

SET @count = 0; 
UPDATE `tblName` SET `id` = @count:= @count + 1; 

但是,我认为这是不可取的重用删除的行自动递增的id自动增量字段不为这个目的而设计的。这一点尤其重要,因为id字段可能被用作与其他表相关的外键。

+0

好的,但我没有使用rowid作为外键,但只希望表中的行的顺序计数具有正确的行数,只需使用唯一的ID很容易删除行。 – Honey459 2012-07-27 10:12:08