User Tools

Site Tools


sql:snippets:firstnotusedid

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
sql:snippets:firstnotusedid [09.12.2013 09:39:54]
127.0.0.1 external edit
sql:snippets:firstnotusedid [31.03.2016 09:19:51]
yaslaw
Line 1: Line 1:
-======[MySQL] First not used Id======+======[SQL] First not used Id======
 Erste freie ID einer Tabelle ermitteln ​ Erste freie ID einer Tabelle ermitteln ​
 +
 +<WRAP center round important 60%>
 +ACHTUNG!
 +Eignet sich nicht um in einer Multiuser-Umgebung die IDs zu vergeben, da zwischen ID auslesen und neuen Beitrag posten jemand anderes die ID besetzen kann.
 +</​WRAP>​
 +
  
 ===== Ausgangslage ===== ===== Ausgangslage =====
Line 10: Line 16:
  MIN(newIds.newId) AS firstNotUsedId  MIN(newIds.newId) AS firstNotUsedId
 FROM FROM
- jeweils die nächst höhere ID ermitteln+ -- jeweils die nächst höhere ID ermitteln
  (SELECT id + 1 AS newId FROM test) AS newIds  (SELECT id + 1 AS newId FROM test) AS newIds
- und mit der Tabelle zurückverknüpfen+ -- und mit der Tabelle zurückverknüpfen
  LEFT JOIN (SELECT id FROM test ) AS ids  LEFT JOIN (SELECT id FROM test ) AS ids
  ON newIds.newId = ids.id  ON newIds.newId = ids.id
Line 28: Line 34:
  
  
->​ACHTUNG! +
->Eignet sich nicht um in einer Multiuser-Umgebung die IDs zu vergeben, da zwieschen ID auslesen und neuen Beitrag posten jemand anderes die ID besetzen kann.+
 {{tag>​MySQL}} {{tag>​MySQL}}
 +
 +===== Spielwiese =====
 +[[http://​sqlfiddle.com/#​!2/​68751c/​1|Beispiel bei sqlfiddle.com]]
sql/snippets/firstnotusedid.txt · Last modified: 31.03.2016 09:20:46 by yaslaw