Ich muss mehrere hunderttausend E-Mail-Adressen randomisieren. Genau genommen müssen sie nur anonymisiert werden, aber idealerweise müssen sie einzigartig sein.Aktualisieren von Teil der SQL-Spalte Wert mit zufälliger Zeichenfolge
Ich weiß, dass ich ein Unix-Zeitstempel mit einer ziemlich zufälligen Zeichenfolge erzeugen kann
SELECT UNIX_TIMESTAMP();)
indem Sie Also, wo ich werde nächstes ist alles vor dem @ mit einer solchen Zeichenfolge zu ersetzen, und dann alles ersetzen nach der Zeichenfolge mit @anonymised.com
.
Der Teil, an dem ich festhalte, ist, wie man den Unix-Zeitstempel in den spezifischen Teil der E-Mail-Adresse einfügt. Ich weiß, ich kann mit
LEFT(email,INSTR(email,"@")-1)
die Zeichen links von dem @ -Zeichen bekommen, und ich weiß, dass ich den Befehl REPLACE verwenden können Teil einer Zeichenfolge zu ersetzen, aber die beiden wie diese Kombination funktioniert NICHT ...
.UPDATE USERS SET email = REPLACE(LEFT(email,INSTR(email,"@")-1), UNIX_TIMESTAMP())
ich vermute, dass ersetzen ist eine Zeichenfolge, anstatt eine Funktion erwartet, kann aber nicht verstehen, wo von hier aus zu ....
was bedeutet "funktioniert nicht"? Es erzeugt einen Fehler? Es erzeugt ein anderes Ergebnis als erwartet? ...? – Egl
Entschuldigung, ja es hat einen Syntaxfehler erzeugt. Danke fürs schauen, ich habe eine Lösung gefunden –