Antworten auf deine Fragen:
Neues Thema erstellen

Datensatz löschen aus einer Datenbank?

JensenJR

Noch nicht viel geschrieben

Hallo,

ich versuche eine SQL zu schreiben, der redundante Datensätze löschen soll und zwar den ältesten Datensatz.

Die grundsätzliche Syntax ist mir klar:

Delete FROM Tabellenname [WHERE Bedingung]

Die Aufgabe, vor der ich stehe, ist etwas komplexer.

Ich habe zwei Tabellen, die miteinander verknüpft sind und in 1:1 Beziehung stehen. Die erste Tabelle heißt bio und hat ein Spalte UserId (Autoinkrement und Primärschlüssel) sowie eine Spalte Mail. Die zweite Tabelle heißt detail und hat eine Spalte Anfrage Id (Autoinkrement und Primärschlüssel), eine weitere Spalte Song und eine dritte Spalte Fremd (Fremdschlüssel - Wert UserId).

Nehmen wir an, dass ein User mehrere Songs einreicht. Die AGB sehen aber vor, dass jeder Teilnehmer nur ein Song einreichen kann. Sollte er doch mehrere einreichen, soll die Datenbank eine Abfrage ausführen und den älteren Datensatz aus den 2 Tabellen löschen. Zwar können so immer noch redundante Datensätze auftreten, aber die Hürde ist etwas höher.

Wie müsste die grundsätzliche Syntax lauten? Ich vergleiche die Werte in einer Tabelle, will aber dann den gemeinsamen Datensatz löschen?

Danke für Eure Hilfe!
 

Elminster

Nicht mehr ganz neu hier

AW: Datensatz löschen aus einer Datenbank?

Hallo Jensen,

ich muss leider los daher kann ich nur kurzen Tip geben und das nicht austesten aber ich würde es mit einer JOIN abfrage über beide Tabellen versuchen.

Delete from Tabellennahem Where BEdingung And Fkey = Prik
sonst wird er das nicht in Verbindung bringen können.

Also schau mal im Netz nach ner JOIN Abfrage.

Sorry das ich jetzt nicht genauer werden kann... schaue aber später nochmal rein.

Gruß
 

Duddle

Posting-Frequenz: 14µHz

AW: Datensatz löschen aus einer Datenbank?

Naja, ganz simpel sollte das doch so lösbar sein:
1. prüfen ob User-ID schon in der detail-Tabelle vorkommt
2. a) wenn ja hat er schon ein Lied eingereicht, also lösch dieses
2. b) wenn nein ist alles okay, weiter
3. neues Lied einfügen

Das sind zwar im Zweifel drei SQL-Abfragen, aber das sollte der Server gerade noch aushalten.

Duddle
 

JensenJR

Noch nicht viel geschrieben

AW: Datensatz löschen aus einer Datenbank?

Hallo an Alle,

auf diesem Wege möchte ich mich nochmals für Eure Tipps bedanken. Inzwischen ist mir eine Lösung auch eingefallen. Durch eine SQL-Abfrage und
über zwei Schleifen führe ich einen Vergleich durch. Sollte dabei eine Übereinstimmung auftreten, wird gleich die Verbindung zum Server abgebrochen. Somit wird est gar kein Insert ausgeführt.

Grüße,
JensenJR
 

Rakete

Nicht mehr ganz neu hier

AW: Datensatz löschen aus einer Datenbank?

Wenn du möchtest, dass jeder User (bzw. jede User-E-Mail-Adresse) nur einmal in deiner Datenbank steht, dann kannst du das nächtse Mal einfach die entsprechende Spalte deiner Tabelle auf 'unique' setzen. So weist der Server Doppeleinträge ab und du brauchst dich darum nicht weiter zu kümmern (es sei denn du möchtest den User über die Abweisung informieren).
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben