the.star: MySQL 5.0.32: md5 mit insert ignore funktioniert nicht

Beitrag lesen

Hallo zusammen

Ich möchte von DB1.Tabelle1 Infos rausziehen und in DB2.Tabelle1 speichern. Das geht sehr gut mit Insert....Select... nur leider hat er ein Problem mit meinem md5-Befehl. Wie ihr sicher ahnt, geht es um Passwörter und deren Verschlüsselung.

Hier mein (gewünschter) Query, der aber nicht funktioniert:

INSERT INTO DB2.Tabelle1 (id,username,password) SELECT DB1.Tabelle1.id, DB1.Tabelle1.KNID, md5('DB1.Tabelle1.Passwort') FROM DB1.Tabelle1

Ich kriege folgenden Fehler:

Duplicate entry '1' for key 1

DB2.Tabelle1 ist wie folgt aufgebaut:

id int(11)
username varchar(80)
password varchar(32)

Ohne md5() klappt der query:

INSERT INTO DB2.Tabelle1 (id,username,password) SELECT DB1.Tabelle1.id, DB1.Tabelle1.KNID, DB1.Tabelle1.Passwort FROM DB1.Tabelle1

Oder mit IGNORE geht's auch, aber dann habe ich beim Passwort einfach 1000xMal den selben Wert. Die Benutzernamen werden alle korrekt kopiert.

INSERT IGNORE INTO DB2.Tabelle1 (id,username,password) SELECT DB1.Tabelle1.id, DB1.Tabelle1.KNID, md5('DB1.Tabelle1.Passwort') FROM DB1.Tabelle1

Wo könnte das Problem liegen? Besten Dank für Eure Antworten.

Cheers