Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

MYSQL Datenbank "säubern"

Hier können Sie Ihre Fragen zum Thema Suchmaschinenoptimierung (SEO) / Positionierung stellen
Neues Thema Antworten
bara.munchies
PostRank 9
PostRank 9
Beiträge: 2457
Registriert: 09.06.2005, 09:02
Wohnort: Krung Tep

Beitrag von bara.munchies » 20.01.2008, 17:35

sagen wir mal ich hab folgende Datenbank.

+------+----------+
+ 345 + Emma +
+------+----------+
+ 456 + Thomas +
+------+----------+
+ 789 + Emma +
+------+----------+

Ich möchte aber, das Emma nur einmal vorkommt. Also jeder Wert der in der zweiten Spalte bereits vorhanden ist soll gelöscht werden.
Wie mach ich das mit sql?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


bennos
PostRank 9
PostRank 9
Beiträge: 1299
Registriert: 16.12.2005, 11:51

Beitrag von bennos » 20.01.2008, 17:51

Hallo

Für die Zukunft solltest du einfach die zweite Spalte Unique machen.

Für das auffinden von Duplicaten gibt es glaube ich keine Funtion in MYSQL.
Schau aber trotzdem mal ins Handbuch.

gruss
bennos

bara.munchies
PostRank 9
PostRank 9
Beiträge: 2457
Registriert: 09.06.2005, 09:02
Wohnort: Krung Tep

Beitrag von bara.munchies » 20.01.2008, 18:06

ich hab die datenbank nicht erstellt, deswegen kann ich die nicht unique machen.

okay, ich such mal nach dublicates.

derhoesel
PostRank 2
PostRank 2
Beiträge: 37
Registriert: 11.11.2007, 12:24

Beitrag von derhoesel » 20.01.2008, 18:32

Du könntest z.B. per DISTINCT nur alle einzigartigen Einträge abfragen und die Ergebnisse in eine neue Datenbank schreiben, die dann die doppelten Einträge nicht hätte.
Brandneues Verzeichnis von nützlichen Webseiten - MySiteExplorer - Ihr meldet euch an - Ich schreibe die Werbung inkl. Keyword-Verlinkung
Interesse am Linktausch mit einem professionellen Computerportal? => PM

Troll
PostRank 5
PostRank 5
Beiträge: 274
Registriert: 11.05.2006, 17:51
Wohnort: Schwabenland

Beitrag von Troll » 20.01.2008, 20:02

Mit einer SQL Abfrage wirst Du glaube ich nicht hinkommen. Der Grund: Im Normalfall ist ja eine Verknüpfung der id o.ä. zu einer anderen Tabelle hinterlegt. Wenn Du jetzt einfach die doppelten löscht, löscht Du ja indirekt die Zusammenhänge.

mwa
PostRank 2
PostRank 2
Beiträge: 58
Registriert: 02.04.2007, 11:10

Beitrag von mwa » 20.01.2008, 21:54

bara.munchies hat geschrieben:sagen wir mal ich hab folgende Datenbank.

+------+----------+
+ 345 + Emma +
+------+----------+
+ 456 + Thomas +
+------+----------+
+ 789 + Emma +
+------+----------+

Ich möchte aber, das Emma nur einmal vorkommt. Also jeder Wert der in der zweiten Spalte bereits vorhanden ist soll gelöscht werden.
Wie mach ich das mit sql?
Ob das direkt in MySQL geht, bestimmt, ich kann dir nur den Weg über ein Z.B. php script aufzeugen. Pseudo - Code:

Code: Alles auswählen

Lese alle Datensätze aus der Datenbank
Schleife durch die Datensätze
   Falls WertSpalt2 in ArrayWerteSpalte2 -> Lösche Datensatz
   Sonst speicher WertSpalte2 in ArrayWerteSpalte2
 

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag