Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Datenbanken, Server, Betriebssysteme und sonstige Programmiersprachen > Datenbanken > Datensatz nur löschen, wenn der letzte Zeiger gelöscht wird

Layoutprobleme? - Styleswitcher!

Antwort
 
Themen-Optionen
Alt 07.04.2008, 13:10 Nach oben    #1
Basti
Bastian Fenske
 
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 745
Standard Datensatz nur löschen, wenn der letzte Zeiger gelöscht wird

Hi.

Kennt ihr einen Weg, folgende Operation auf eine MySQL-DB in einer Query auszuführen:

page_nodes
----------
id
page_version_id
component_id

components
----------
id

Lösche alle Datensätze aus
components, die in page_nodes unter einer gegebenen page_version_id verlinks sind, aber nur die, die nicht nochmal in page_nodes einer anderen page_version_id zugeordnet sind.

Soll also praktisch wie hardlinks funktionieren: Sobald der letzte Link gelöscht wurde, wird auch die Datei gelöscht, ansonsten nicht. Oder hier: Komponenten können in verschiedene Seitenversionen eingehängt werden. Wird der Knoten gelöscht, soll auch die Komponente gelöscht werden, aber nur, falls die nicht noch in eine andere Seitenversion eingebaut ist.


Hat jemand einen Tipp für mich?

Basti
Basti ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 07.04.2008, 13:17 Nach oben    #2
mepeisen
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 350
Standard

Du könntest in der Where-Bedingung per Subselect die richtigen Datensätze rausfiltern (geht nur in den neuesten MySQL-Versionen, die auch Subselects beherrschen).
Ansonsten kannst du nach dem Löschen deines page_nodes Eintrags gucken, was übrig bleibt. So etwa (ungetestet) :
Code:
SELECT c.id, COUNT(p.id) as zaehler
FROM components as c LEFT OUTER JOIN page_nodes p
ON c.id = p.component_id
GROUP BY c.id
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

« Suchengine erstellen | problem mit einer while-schleife »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

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 anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
logik datensatz identifikation richy PHP-Programmierung 12 09.04.2008 16:45
[SuSE] Partition Löschen kampfgnom Tools, Server, Betriebssysteme 10 29.12.2007 14:13
[Thunderbird] eMails werden nur zum löschen markiert MrNiceGuy Plauderecke 5 13.09.2007 18:56
Prob. beim Ordner löschen X-Unity.de PHP-Programmierung 15 19.03.2006 12:27
Datensatz löschen andy74 Datenbanken 40 17.01.2006 14:55


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:07 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.6.7, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44