Sql DELETE Befehl

Computer Forum

Zurück   Computer Forum - PC Forum - ModernBoard.de > Computerprobleme > Webmaster Hilfe / Programmierer Forum

Sie betrachten gerade: Sql DELETE Befehl


Antwort
Alt 10.07.2008, 11:17 Sql DELETE Befehl #1
Erfahrener Benutzer
 
Registriert seit: 29.01.2007
Beiträge: 899
Standard Sql DELETE Befehl

Hi
Wie Löscht man am besten mehre Datensätze aus mehren Tabellen.

Ich hab da einen User den ich löschen möchte. Dieser hat in vielen Tabellen einen Fremdkey der auch mit gelöscht werden soll.
Wie stellt man dafür am besten den Sql befehl zusammen.

Also ich möcht jetzt nicht 5 Delete befehle hintereinander ausführen sondern das mit 1 Befehl lösen.

Mfg Splasch

Alt 10.07.2008, 11:28 Sql DELETE Befehl #2
C8H10N4O2 - Geniesser
 
Benutzerbild von xandros
 
Registriert seit: 05.07.2007
Ort: Nordamerika, CA, NB
Beiträge: 18.694
xandros eine Nachricht über MSN schicken xandros eine Nachricht über Yahoo! schicken xandros eine Nachricht über Skype™ schicken
Standard Sql DELETE Befehl

Das geht IMHO nur mit referenzieller Integrität und der dazugehörenden Löschweitergabe, die aber nicht von allen DBS unterstützt wird.

Welches DBS verwendest du?
Alt 10.07.2008, 11:28 Sql DELETE Befehl #3
Erfahrener Benutzer
 
Registriert seit: 07.06.2007
Beiträge: 3.369
Standard Sql DELETE Befehl

delete from * where Spaltenname = "löschuser"

kp, hab meine doppelseitige selbstgeschriebene dokumentation herausgekramt...
ABer testste besser erstmal nicht, bis andere was sagen...
falls from * nicht funktioniert muss du alle tabellennamen die erschünscht sind aufführen glaub ich...
Alt 10.07.2008, 12:03 Sql DELETE Befehl #4
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 29.01.2007
Beiträge: 899
Standard

Zitat:
Das geht IMHO nur mit referenzieller Integrität und der dazugehörenden Löschweitergabe, die aber nicht von allen DBS unterstützt wird.

Welches DBS verwendest du?
Verwendet wird mysql. Tabellen typ mylsam.

Mfg Splasch
Alt 10.07.2008, 12:15 Sql DELETE Befehl #5
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 29.01.2007
Beiträge: 899
Standard

Hab in der Doku nun Folgendes gefunden

http://dev.mysql.com/doc/refman/4.1/en/delete.html

Multiple-table syntax:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]

Or:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*]] ...
USING table_references
[WHERE where_condition]


Nach dem her würde als der Befehl dann in etwas so ausehen:

DELETE Tabel1,Tabel2,Tabel3 FROM Tabel1,Tabel2,Tabel3 WHERE Tabel1.id=Tabel2.id AND Tabel3.id=Tabel1.id AND User_id = '1';

Wenn ich mich nicht irre

Mfg Splasch
Alt 15.07.2008, 09:11 Sql DELETE Befehl #6
Erfahrener Benutzer
 
Registriert seit: 10.07.2007
Beiträge: 484
Standard Sql DELETE Befehl

gibts dazu eine oberfläche? also ne php seite oder ähnlcihes?
oder willst du den hardcore via reinem sql aus der Datenbank entfernen.

Refferenzielle Integriätä wird nur von InnoDB unterstützt das heist du musst das auf alle fälle manuell machen.
wichtig ist erst alle N datensätze zu lsöchen und dann den Hauptdatensatz (User selbst) dieser hat ja hoffentlich eine id und nun musst du nur noch wissen in welchen tabellen die user ID´s vorkommen und dort in jeder
delete from tabellenname where userid = deineid

und fertig ist das...
Alt 15.07.2008, 09:58 Sql DELETE Befehl #7
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 29.01.2007
Beiträge: 899
Standard

Ich hab das soweit schon gelöst.

Das ich darauf selber achten muß war mir klar weil ich noch mylsam tabellen verwende.

Der Befehel hat auch soweit funktioniert. Nur ergab sich daraus ein anderes Problem wenn nicht alle Fremdkey vorhanden waren wurde nix gelöscht. Also auch nicht die Datensätze der anderen 2 Tabellen.

Da es sich dabei um ein Dynamische Cms handelt werden einige Datensätze mit fremdkey erst zur laufzeit erstellt.

Naja habs auf die alte Methode mal gelöst mit 3 von einandere getrennten Sql befehlen.

Zitat:
gibts dazu eine oberfläche? also ne php seite oder ähnlcihes?
Ja eine Benutzer Oberflache gibt es.Die ich allerdings selber erstelle bwz erweitere.Und im php code die Sql anweisungen angeben werden müssen.

Zitat:
wichtig ist erst alle N datensätze zu lsöchen und dann den Hauptdatensatz (User selbst) dieser hat ja hoffentlich eine id und nun musst du nur noch wissen in welchen tabellen die user ID´s vorkommen und dort in jeder
delete from tabellenname where userid = deineid
Das ist alles leicht aus dem Diagram ersichtlich so sehe ich welche Tabellen eine Verbindung haben und auch mit einbezogen werden müssen. Die Id selbst wird davor von der Db abgefragt und per Get dann an die entsprechende php Datei weitergeleitet. Diese prüft dann ob man dazu berechtig ist und wenn ja werden die 3 Sql befehle ausgeführt. Zusätzlich wird der Get wert auf Integer gesetz damit keine anderen Befehle aufgenohmen werden.

Mfg Splasch
Alt 15.07.2008, 10:17 Sql DELETE Befehl #8
Erfahrener Benutzer
 
Registriert seit: 10.07.2007
Beiträge: 484
Standard Sql DELETE Befehl

ja dann ist ja alles gut,
so in der art hätte ich es wohl auch gelöst.
also ist der Thread ja damit erledigt.

cu
Antwort

RB

Thema: Sql DELETE Befehl


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen für: Sql DELETE Befehl
Thema Autor Forum Antworten Letzter Beitrag
Sp.-befehl
Hallo, wenn ich auf Sp.-Befehl klicke, steht da immer: "Ansicht wird geöffnet" darauf hin flieg ich wieder aus dem programm, hat jemand einen...
Mr. Unbekannt Nokia N73 Forum 1 27.12.2007 11:57
SQL Befehl DELETE funktioniert nicht!
Ich habe folgenden SQL Befehl einegegben $tbl_loeschen= "Delete * From ip_abgestimmt"; mysql_query($tbl_loeschen); Nun soweit so...
disler Webmaster Hilfe / Programmierer Forum 4 04.10.2007 11:22
Boot Befehl?
Hi Leute, Kennt jemand den Befehl "BOOTMGR" ? Des kommt immer beim hochfahren meines alten PCs, was kan nich machen das des weg geht? mfg...
s3b008 Hardware Probleme 8 23.09.2007 13:18
ms-dos befehl
?(ich habe gehört das es einen befehl gibt suf ms-dos so ähnlich wi "md" nur erstellt ms-dos dann so viele ordner so lange man das fenster geöffnet...
thebestonestief Windows Probleme 5 14.02.2007 20:38
Win Delete?
Hallo! Was ist von dem Programm „Win Delete“ zu halten und macht es unter XP - Home Sinn? Dankeschön Bert
bert Software Probleme 0 18.06.2006 19:38

Zurück   Computer Forum - PC Forum - ModernBoard.de > Computerprobleme > Webmaster Hilfe / Programmierer Forum

Besucher kamen mit folgenden Begriffen auf die Seite

sql delete befehl

Powered by vBadvanced CMPS v3.2.2


Sie betrachten gerade: Sql DELETE Befehl