phpbar.de logo

Mailinglisten-Archive

autoincrement

autoincrement

Hartmut Holzgraefe mysql-de_(at)_lists.bttr.org
Wed, 10 Apr 2002 14:20:07 +0200


wojna wrote:
> 
> Wie kann ich bei MySQL eindeutige IDs vergeben ohne
> autoincrement benutzen zu müssen?
> Ich möchte Datensätze aus einer Tabelle auch wieder heraus-
> löschen, und anschließend wieder neue Datensätze einfügen.

IDs in einer eigenen ID-Tabelle selbst mitführen und
hochzählen oder MAX(id)+1 abfragen und benutzen
(jeweils LOCKING beachten!)


> Gibt es eine Möglichkeit auch die wieder freigewordenen IDs
> erneut zu benutzen?
> Wie kann ich die kleinste freie ID ermitteln und automatisch
> für einen neuen Datensatz verwenden?

SELECT t1.id +1 AS frei
   FROM sixcms_article t1 LEFT JOIN sixcms_article t2
     ON t1.id +1 = t2.id
  WHERE t2.id IS NULL
  ORDER BY t1.id
  LIMIT 1;


-- 
Hartmut Holzgraefe  hartmut_(at)_six.de  http://www.six.de/  +49-711-99091-77

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive