AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi "delete from" Problem

"delete from" Problem

Ein Thema von Jelly · begonnen am 14. Okt 2004 · letzter Beitrag vom 15. Okt 2004
Antwort Antwort
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#1

"delete from" Problem

  Alt 14. Okt 2004, 23:36
Hallo,

ich habe 3 Tabellen, T1, T2 und T3, welche untereinander verknüpft sind.

T1 ist sozusagen die Haupttabelle. T2 besitzt ein Foreign Key FK2 welches auf den Primary Key von T1 verweist.

T3 besitzt ein Foreign Key FK3 welches auf den Foreign Key von Tabelles T2 verweist.

Soweit klar, ich denk

Jetzt möchte ich alle Datensätze aus T3 löschen, welche indirekt einem bestimmt Eintrag in T1 zugeordnet sind.

Eine Select Abfrage hierfür ist eigentlich recht einfach über joins, aber irgendwie krieg ich das nicht hin, diese Records in einem Ruck zu löschen, mittels
delete from T3 where ... Noch als Randbemerkung. Es handelt sich um eine MySQL Datenbank, also leider nix mit Subselects.

Ist wohl nur ein Syntacproblem in SQL, aber hab mittlerweilen schon so viel ausprobiert, aber irgendwie hauts nicht hin

Vielen Dank schon mal
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: "delete from" Problem

  Alt 15. Okt 2004, 00:17
gibts bei MySql kein CASCADE ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: "delete from" Problem

  Alt 15. Okt 2004, 08:14
Zitat von Hansa:
gibts bei MySql kein CASCADE ?
Soweit ich weiss nicht, nein. Vielleicht beim Tabellentyp InnoDB, ich benutz aber aus anderen Gründen MyIsam.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: "delete from" Problem

  Alt 15. Okt 2004, 08:22
Wenn man dem Artikel glauben kann, geht es nur mit den InnoDB-Tabellen.
Aber warum ärgerst du dich mit mySQL rum? Da hast du doch nur Einschränkungen und nochmals Einschränkungen.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
3.886 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

Re: "delete from" Problem

  Alt 15. Okt 2004, 08:39
Machst du so:DELETE t3.* FROM t3, t2 WHERE t3_ref = t2_id AND t2_ref = :t1_id
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: "delete from" Problem

  Alt 15. Okt 2004, 09:46
Zitat von Stevie:
Machst du so:DELETE t3.* FROM t3, t2 WHERE t3_ref = t2_id AND t2_ref = :t1_id
Yep... so klappts. Daß mir das gestern nicht einfiel... War schon bischen zu spät und der Kaffee wirkte nicht mehr

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#7

Re: "delete from" Problem

  Alt 15. Okt 2004, 09:54
Zitat von Robert_G:
Aber warum ärgerst du dich mit mySQL rum? Da hast du doch nur Einschränkungen und nochmals Einschränkungen.

Du glaubst gar nicht wie sehr ich dieses MySQL manchmal verfluche
Nur leider liegt die Datenbank online bei meinem Provider, und da läuft nun halt mal nur MySQL, sogar nur MyISAM... Da kann man nix machen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf