> stored? Why isn't this done automatically as it is for [ISAM] tables?
As for the "why", I'm not a MySQL developer, but I believe the reason
goes something like this: When ISAM tables were implemented, they did
it the "wrong" way. When other table types came along, they fixed
this "bug" and do it the "right" way.
You seem to disagree about which is better, but I believe the above is
the explanation for the switch in behavior.
As for why the MyISAM/InnoDB way is "right", I believe it has to do
with the idea that autoincrement values are very commonly used in
situations where you want not just a key that's unique in the table,
but one that will never be used again. Specifically, in ISAM tables,
when you delete the highest-keyed record, that key will be given out
again with the next insert. Depending on how your application is
written, that could lead to unpleasant race conditions that would be
easily avoided by simply not reusing key values at all.