Ever wanted to inject hashes into new or existing rows of a MySQL database?
Two slightly different methods, but the same result…
The code below allows you to generate a different hash for each row you’re inserting. You can tweak to choose the string’s length. No unique checks are done.
INSERT INTO table_name ( column_name ) VALUES ( (SUBSTRING(MD5(RAND()) FROM 1 FOR 20)) )
Update columns and values to suit your needs
The code below allows you to generate a different string for each row affected by the update and choose the random string’s length from 1 to 32 character.
I’m aware it’s not the most random of generators but for url hashes etc, it works well. Be sure to then check for duplicates, which are possible!
Change 20 to a length between 1 and 32 that suits your needs.
Update the WHERE condition to suit your needs
UPDATE table_name SET column_name = ( SELECT substring(MD5(RAND()), -20) ) WHERE condition_column = 1;