Re: Pragmatically changing a "Record Number"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



M. Sokolewicz wrote:
Stut wrote:
Jason Pruim wrote:
Hi Everyone,

Hi Dr Jason.

I think after I get this question answered, I can stop asking for awhile since my project will be done, at least until the users say "What happened to XYZ????" then I'll ask again :)

I asked on a MySQL list about "Resetting a auto increment filed" so that there arn't any gaps in the record number.

So to say it another way, I have a table that has 900 records in it, I've added 3 records, but then deleted 2 of those which puts the actual record count at 901 but my auto increment field starts at 904 on the next insert.

Is there away with PHP that I can pragmatically change that value to the total records in the database more so then a representation of the actual record number?

What are you actually trying to achieve? Why do you need all records to have a sequential number? Ignore how you're going to do it, just tell us why you think you need this, because I've never come across a reason to need this.

-Stut
I've seen many people who wished to "fix" sequences like this before, usually because they believe there is something "wrong" with there being gaps in there. However, from a database-point-of-view an auto_increment value represents a unique row which _stays_ unique. As such because it doesn't re-assign values used before you keep database integrity intact because old possible links between rows/tables won't be reused and thus won't form unintended links (ie. say you delete row [id=2] from table a, which was linked via [id=2] to a row in table b. If it was reused, a "fresh" row would suddenly inherit its predecessors links (which it should not!).

The auto_increment value represents just that, an internal unique id for a row in a specific table. It doesn't represent the location of a row in respect to other rows (ie the 2nd, 3rd and 4th of the table), simply because that's now what it's intended for. If that is what you wish, you'll need to find a different way of achieving it.

Again this is focusing on what autoincrement fields are used for. I want Jason to tell us what he needs a sequential record number with no gaps for, otherwise you lot are going to continue telling him the same thing over and over again which is unlikely to help anyone.

-Stut

--
http://stut.net/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux