dedlfix: (mysql+php) doppelte Einträge vermeiden

Beitrag lesen

Hello,

Die affected rows zeigen dir sogar an, wieviel Datensätze geschrieben wurden.

Leider nicht, welche.

Solche Einfügeinformationen sollte man daher nicht als Multi-Insert ausführen.

Heißt das, dass man, nur weil du gern diese Information (welche Datensätze) hättest, diese Funktionalität nicht verwenden darf, wenn man diese Information nicht braucht?

Wenn man die Information, ob der Auftrag erfolgreich war, nicht braucht, wird man auch die Daten nicht brauchen, oder? Dann kann man sich das Insert auch gleich schenken oder ins Device NUL umleiten.

Du verallgemeinerst schon wieder voreilig. Folgendes Beispiel aus der Userverwaltung:

Es gibt die Berechtigungen A, B, C, D usw. In der Tabelle stehen für einen bestimmten Benutzer die Berechtigung A und C (jeweils als ein Datensatz) drin.
Ein HTML-Formular bietet die Möglichkeit an, Berechtigungen für den Nutzer zu setzen. Dazu sind alle Berechtigungen als Checkbox oder als multiple Select aufgelistet.
Wenn der Userverwalter nun alle 3 Berechtigungen wählt, sollen am Ende natürlich alle drei Berechtigungen in der Tabelle erscheinen. Dabei ist es unerheblich, ob von diesen Berechtigungen schon welche eingetragen waren.
Nun könnte der Einwand kommen, dass man vorher die Berechtigungen abfragt und dann nur noch B anbietet. Das mag für einen zu ändernden User noch möglich sein, ist aber unnötiger Aufwand. Und spätestens wenn du mehrere Benutzer mit unterschiedlichen, bereits gesetzten Berechtigungen hast und denen A, B und C setzen willst, geht das nicht mehr.

Ja, mann kann auch eine Matrik anbieten mit den Berechtigungen in der Waagerechten und den Usern in der Senkrechten. Da empfinde ich aber als bedienunfreundlich, weil man sich dann einen Wolf ankreuzt...