MudGuard: Newsscript: MySql Index-Spalte manuell neu sortieren?

Beitrag lesen

Hi,

Die Einträge werden in der Anzeige per  $sql = "SELECT ... FROM ...ORDER BY id DESC ... automatisch angeordnet, neuester Eintrag oben. (Feld id ist auf autoincrement gesetzt)
Nun möchte ich per Adminbereich einzelne Einträge manuell sortieren, z.B. einen älteren Eintrag weiter nach oben setzen. Dazu muß ich das Feld id editieren. Kein Problem. Aber wie kann ich _sicherstellen_, dass  bei diesem manuellen Editieren keine bereits existierende id eingegeben wird?

Eine id-Spalte dient zum Identifieren von Datensätzen und zu sonst nichts.
Insbesondere sind nachträgliche Änderungen der id zu unterlassen - dies würde z.B. Verknüpfungen mit anderen Tabellen zerstören.

Benutze eine Spalte, die NICHT die id-Spalte ist, für die Angabe einer Sortierreihenfolge.
Definiere auch für diese Spalte einen Index, und zwar einen UNIQUE INDEX.
Dann klopft Dir MySQL auf die Finger, wenn Du einen Wert doppelt vergeben willst.

cu,
Andreas

--
MudGuard? Siehe http://www.Mud-Guard.de/
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.