Befehl rückgängig machen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
dsl-bbc
Mitglied
Beiträge: 1
Registriert: 29.04.2012 23:34

Befehl rückgängig machen

Beitrag von dsl-bbc »

Hallo,
wie kann ich folgenden SQL-Befehl rückgängig machen?

Code: Alles auswählen

INSERT INTO oxseohistory (OXOBJECTID, OXIDENT, OXSHOPID, OXLANG) VALUES ('bcf96ad6c453da8ca24a157dd1ca3612', MD5('my_old_productlink.php/'), 'oxbaseshop', 0);
Verschoben von phpBB 3.0: Administration und Benutzung nach Coding & Technik am 30.04.2012 09:13 durch mad-manne

Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Befehl rückgängig machen

Beitrag von gn#36 »

Sofern irgend eine der Spalten die du verwendet hast UNIQUE oder PRIMARY KEY o.ä. ist, geht das z.B. so:

Code: Alles auswählen

DELETE FROM oxseohistory WHERE (OXOBJECTID = 'bcf96ad6c453da8ca24a157dd1ca3612', OXIDENT=MD5('my_old_productlink.php/'), OXSHOPID= 'oxbaseshop', OXLANG=0);
Achtung: Wenn keine dieser Tabellenspalten eine eindeutige Zuordnung ermöglicht, dann löscht du mit diesem Befehl eventuell mehr als nur einen Tabelleneintrag, obwohl du nur eine Zeile eingefügt hast. Das ist insbesondere möglich, wenn du noch mehr Spalten in deiner Tabelle hast als die, die du beim Insert berücksichtigt hast. In dem Fall würde ich erst mal mit einem

Code: Alles auswählen

SELECT * FROM oxseohistory WHERE (OXOBJECTID = 'bcf96ad6c453da8ca24a157dd1ca3612', OXIDENT=MD5('my_old_productlink.php/'), OXSHOPID= 'oxbaseshop', OXLANG=0);
nach den Zeilen suchen, die dadurch verändert werden und dann mit weiteren Bedingungen die DELETE Anweisung weiter eingrenzen (Default Werte der anderen Spalten ansehen wenn nicht bekannt ist welche Ergebnisse nun gelöscht werden sollen). Sofern es nicht mehr als die verwendeten Spalten in der Tabelle gibt können zwar auch mehrere Zeilen gelöscht werden, aber die wären dann zumindest vollkommen identisch.

Wenn doch irgend eine der verwendeten Spalten UNIQUE oder PRIMARY KEY o.ä. ist, dann reicht in der WHERE Bedingung die Angabe dieser einen Spalte.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Coding & Technik“