Kurztipp: UPDATE mit ORDER BY in SQL

Heute stand ein kleines Datenbank-Problem an, das eine „kreative“ Lösung erforderte. Die Sortierung von ein paar Elementen basierte auf der Datenbank-ID, aber ein neues Element musste unbedingt in die Mitte. Da es als letztes eingefügt wurde, hatte es aber natürlich die höchste ID (man stelle sich eine typische MySQL-Datenbank mit AUTO_INCREMENT-Feld als Primary Key vor). Zeit für eine „richtige“ Lösung war nicht, also mussten ein paar IDs in der Datenbank verschoben werden: Jeder Kurs rückt eine ID weiter, dann kann später der letzte auf das leere Feld aufrücken. Gesagt, getan:

update courses set id=id+1 where and id>=3041 and id<=3052

Weiterlesen