Zufällige Zeichenfolge mit MySQL erstellen
Dann und wann muß ich bestimmte Spalten einer MySQL-Tabelle mit einer zufälligen Zeichenfolge (einem „random string“) füllen.
Jedesmal suche ich nach einer möglichst einfachen und schnellen Lösung; jetzt habe ich sie mit dieser Funktion gefunden:
CREATE FUNCTION randomString($length int)
RETURNS varchar(128)
BEGIN
SET @chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
SET @charLen = length(@chars);
SET @randomString = '';
WHILE length(@randomString) < $length DO
SET @randomString = concat(@randomString, substring(@chars,CEILING(RAND() * @charLen),1));
END WHILE;
RETURN @randomString ;
END
Ein
SELECT randomString(28);
erzeugt dann zum Beispiel eine zufällige Zeichenfolge mit einer Länge von 28 Zeichen: yb4XVv4cqMHMwdMtNE3XWzP34Bgt
So, und damit ich das nicht immer suchen muß, habe ich es jetzt endlich hier mit aufgenommen.
Erstellt von Ole Rosendahl 05. Juli 2016