kalle: Mysql unique

Hallo,

gibt es eine möglichkeit einen unique über eine bestehende datenbank laufen zu lassen?
beispiel:

id | sonstiges
--------------
01 | bla
02 | blub
03 | jasdk
01 | übeltäter
04 | sdlksd

nach dem unique sollte die tabelle dann so aussehen:

id | sonstiges
--------------
01 | bla
02 | blub
03 | jasdk
04 | sdlksd

MfG kalle

  1. hi,

    gibt es eine möglichkeit einen unique über eine bestehende datenbank laufen zu lassen?

    lese die daten ein, speichere die wert in ein array. prüfe aber vor dem ablegen im array, ob nicht schon ein wert mit der ID existiert.

    schreibe anschliessend die datensätze aus dem array wieder in die (zwischenzeitlich geleerte) tabelle.

    geht evtl. auch einfacher: erzeuge mit phpmyadmin einen dump der tabelle (mit DROP TABLE und tabellenstruktur), ändere die spalte ID im CREATE TABLE-statement auf unique, und spiele den ganzen kram wieder ein.
    weiss allerdings nicht, ob phpmyadmin dann hart abbricht, sobald ein zweiter wert für eine unique-spalte vorkommt, oder ob er nur eine meldung wirft. -> ausprobieren :-)

    gruss,
    wahsaga

    1. Hallo,

      zu kompliziert, am einfachsten ist es, Du legst eine neue Tabelle an, und füllst diese dann mit INSERT INTO table SELECT... (genaue Syntax findest Du im MySQL Handbuch oder mit Google.
      Bei dem Select muss natürlich ein Unique Statement dazu. Am Ende löschst du die Ursprungstabelle, und benennst die neue Tabelle um.

      Gruss

      Marko