Sönke Tesch: Praktische Tabellenstruktur für phpMyAdmin

Beitrag lesen

Z.b. lässt er mich eine Tabellenzeile nicht bearbeiten, weil der Apache einen Serverfehler meldet (kein Wunder bei diesem Link:

http://localhost/phpmyadmin/tbl_change.php?lang=de-iso-8859-1&convcharset=iso-8859-1&server=1&db=MyWeb&table=pkcom_menue&pos=0&session_max_rows=30&disp_direction=horizontal&repeat_cells=100&dontlimitchars=0&primary_key=+%

[..]

Schau Dir die URL mal genau an, da findet sich zum Ende hin folgendes:

&primary_key=+position+=+'1'+AND+name+=+'ut'+AND+...

Wenn der zu bearbeitende Datensatz keinen vernünftigen (Sprich: eindeutigen) Schlüssel hat, muß zwangsläufig über alle Felder verglichen werden, um den richtigen Datensatz zu erwischen - und wenn mich nicht alles täuscht, versucht phpMyAdmin mit obiger URL genau das.

Man könnte also behaupten, daß das Problem nur sekundär bei phpMyAdmin oder gar dem Apache liegt, denn dank der von Dir vorgegebenen, etwas unpraktischen Tabellenstruktur hat das Programm schlichtweg keine andere Wahl.
Füge eine weitere Spalte vom Typ int mit dem Attribut auto_increment ein und setze darauf einen "unique index" (oder nimm irgendeine existierende Spalte, mit der "unique index" funktioniert), dann kann sich phpMyAdmin an diese eine Indexnummer halten und es gibt keine Probleme mehr.

Gruß,
  soenk.e