![]() |
[PHP] Mehrere Datenbanken über DELETE löschen
Hi,
ich habe zwei Tabellen, die zusammenhängen mit einem Schlüssel (ID) verbunden (dieser kommt in beiden Tabellen vor). Wie kann ich nun in beiden Tabellen die Einträge mit einer bestimmten ID löschen? |
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Eine Delete Rule anlegen
|
Re: [PHP] Mehrere Datenbanken über DELETE löschen
;-)
Okay, präziser gefragt - es handelt sich um den Versand von Nachrichten:
Code:
Wenn ich nun die Nachricht mit der ID 1 löschen möchte, sollen auch die Einträge in Tabelle 2 gelöscht werden. Wie kann ich das anstellen?
Tabelle 1:
ID, Betreff, Text 1, Hallo, Das ist ein Test 2, BlaBlub, Sinnloser Text Tabelle 2: ID, Empfänger 1, Andreas 1, Beate 2, Christoph |
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Hast du wirklich zwei Datenbanken? Oder zwei Tabellen innerhalb einer Datenbank!
Du solltest dir erstmal klar machen, was eine Datenbank und was eine Tabelle ist. |
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Verzeihung, es geht natürlich um Tabellen, nicht um Datenbanken!
Ich kenne den Unterschied ;) |
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Dann schreibt du zwei DELETE-Anweisung in eine Transaction und machst so aus beiden Anweisungen eine und führst zum Schluss ein Commit aus. Dieses erweiterte Löschen kann die Datenbank auch selber ausführen. Allerdings hast du noch nichts über die verwendete Datenbank geschrieben.
|
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Okay, danke...das klingt doch schonmal gut...ist eine MySQL-Datenbank, mit der ich arbeite.
|
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Welche Version von MySQL, welche Engine? Das macht einen gewaltigen Unterschied...
|
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Jup. Das Sauberste ist, es ueber einen Foreign Key Restraint und einen Trigger zu loesen. Das Uebliche ist, das ueber zwei DELETES zu loesen; je nachdem welchen Storage-Type die Tabellen haben sogar ohne Transaction.
Und ja, sag mal welchen Server du hast. MySQL5 kann viel mehr als 4, da kann man doch etwas serioeser arbeiten ;) Greetz alcaeus |
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Ohje, welche Informationen ich alle vergessen hab :roll:
Ich hab die Version 5.0.51a installiert. |
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Bei MYSQL gibt es verschiedene Tabellen Typen. Die bekanntesten sind MYISAM und INNOdb.
MYISAM (und NDB) kann keine Löschweitergabe. INNODB kann sie. Bei der automatischen Löschweitergabe geht es eigendlich um ForeignKey Constraints welche mit "Cascade" den "Delete" weitergeben. Aber das kann bei MYSQL nur die Engine INNODB. ![]() |
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Okay, meine Tabellen sind nämlich vom Typ "MyISAM". Muss ich dann zwei Deletes bilden und ausführen?
|
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Ja
oder du erzeugst onDelete Trigger (wenn das MyISAM kann). Welche dann den Datensatz weg löschen. Das ist aber dann auch nur ein Delete-SQL. Dieses würde dann aber automatisch ausgeführt werden. Du solltest INNODB nutzten! * Diese Engine ist stabiler als MyISAM. * kann Transaktionen * kann Löschweitergaben ![]() Warum vergesse ich heute eigendlich immer die Links? |
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Zitat:
Zitat:
|
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Zitat:
innoDB kann keine Volltext-Suche, sonst isses besser ;) Wenn du irgendwelche "erweiterten Sachen" verwendest, solltest du ein Backup machen, zum ändern reicht dann ein einfaches
SQL-Code:
ALTER TABLE t1 ENGINE=InnoDB;
|
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Kann ich auch über den phpAdmin oder?
Definiere "Volltext-Suche" ;-) |
Re: [PHP] Mehrere Datenbanken über DELETE löschen
Zitat:
Zitat:
Wikipedia benutzt Volltext-Suche ;) ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz