http://qs1969.pair.com?node_id=685805


in reply to How to find the highest number in a mysql table

my $data = qq(SELECT MAX(id) FROM table); # +1
or
my $data = qq(SELECT id FROM table ORDER BY id DESC); # +1


"Age is nothing more than an inaccurate number bestowed upon us at birth as just another means for others to judge and classify us"

sulfericacid

Replies are listed 'Best First'.
Re^2: How to find the highest number in a mysql table
by kyle (Abbot) on May 10, 2008 at 02:03 UTC

    There are a couple of problems here.

    The basic problem is that this only tells you what the last ID in the table was (+1), not what the next ID will be. If I insert a record and then delete it, that ID will not be reused, but your solution assumes it will. The next ID will actually be the highest +2. I could do this with any number of records.

    The other problem is in your second solution:

    my $data = qq(SELECT id FROM table ORDER BY id DESC); # +1

    This selects every row in the table. You really want to select only one:

    my $data = qq(SELECT id FROM table ORDER BY id DESC LIMIT 1); # +1

    ...but this still suffers from the first problem.