sql befehl

jhaustein
hallo gemeinschaft

wie lautet der sql befehl, wenn man in einer spalte einen namen ändern möchte
survivor
dafür wirst du wohl
mysql_query("UPDATE tabelle SET feldname='neuer_eintrag' WHERE feldname='alter_eintrag'")
brauchen.
max77
Das ist richtig:
aber damit änderst Du alle Datensätze, in denen dieser Name auftaucht.

Wenn nur ein Datensatz geändert werden soll, müßtest Du über eine einduetige ID suchen (in der WHERE-Auswahl).

Gruß
Dirk
daHooligan
braucht es bei SQL keinen Primärschlüssel ???
chr-fritz
MySQL braucht weder einen Primärschlüssel noch einen normalen Index.

Zitat:
Wenn nur ein Datensatz geändert werden soll, müßtest Du über eine einduetige ID suchen (in der WHERE-Auswahl).
Wenn eine ID Vorhanden ist dann geht das. Ansonsten müsste man alle anderen Spalten in die where Bedingung mit aufnehemen.

Zitat:
aber damit änderst Du alle Datensätze, in denen dieser Name auftaucht.
Aber nur die, bei denen die Spalte genau den gleichen Inhalt hat wie der der über die where Bedingung gesucht wird. Was etwas anders ist, ist natürlich, wenn man in die Where-Bedingung noch zusätzlich mit Like() arbeitet.
max77
Das ist richtig.

Für die Änderung einzelner Datensätze würde ich auf jeden Fall einen Primärschlüssel empfehlen.
Ich würde grundsätzlich (sofern es keinen wirklich guten Grund gibt!) eine Tabelle auch immer mit einem Primärschlüssel versehen (Login-Name, Kd-Nr, Artikelnummer oder eben einer ID).

Beim Ersetzen mit UPDATE wäre ich bei der Bedingung mit "LIKE" sowieso immer etwas vorsichtig: da sollte man genau wissen, was man da tut.

Gruß Dirk
jhaustein
vielen dank für eure hilfe