Veröffentlicht 2. November 200321 j ich habe zwei tabellen in einer mysql datenbank tabelle 1 hat eine Spalte PersNr als Primärschlüssel tabelle 2 hat auch eine Spalte PersNr.... jetzt bräuchte ich eine abfrage die mir alle datensätze aus tabelle 2 löscht, dessen PersNr nicht in Tabelle 1 ist!! aber ich weiß leider nicht wie ich das in mysql ohen unterabfragen lösen soll?!? kann mir jemand helfen? MFG SwordMaster
2. November 200321 j Ich würde sagen das geht nicht so einfach, es gibt zwar Multi Table Deletes in Version 4, aber du kannst nur nen Equi Join machen der meines Wissens genau diesen Fall mit dem Feldern die in der einen Tabelle aber nicht in der anderen Auftauchen nicht abdecken kann. Ich könnte mir nur ein perverses Konstrukt mit Tabelle umbenennen und CREATE TABLE ... SELECT ... vorstellen, aber da ist es doch besser das auf Applikationsebene zu lösen.
2. November 200321 j Autor ich hatte befürchtet dass du das sagt naja dann muß ich eben wida a bissl programmieren mfg swordmaster
3. November 200321 j Moin! Ich meine es geht doch! Dazu musst Du zusätlich InnoDB installieren. Damit kannst Du dann automatisch für referentielle Integrität sorgen. Die DB musst Du dann aber neu aufbauen, weil beim erstellen noch einige zusatzangaben nötig sind (Stichwort: "ON DELETE CASCADE"). Habe jetzt gerade weder Link noch genaueres im Kopf aber mit Google sollte es möglich sein hier weiter zu recherchieren.
4. November 200321 j Original geschrieben von Pointerman Ich meine es geht doch! Dazu musst Du zusätlich InnoDB installieren. Damit kannst Du dann automatisch für referentielle Integrität sorgen. Die DB musst Du dann aber neu aufbauen, weil beim erstellen noch einige zusatzangaben nötig sind (Stichwort: "ON DELETE CASCADE"). http://www.mysql.com/doc/en/ANSI_diff_Foreign_Keys.html http://www.mysql.com/doc/en/example-Foreign_keys.html
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.