Hyæna

Through the darkness of future past

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.



Ähnliche Artikel