Как создать случайную уникальную строку в MySQL?
когда мне нужно создать случайную строку в PHP, я использую эту функцию:
public function generateString($length)
{
$charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for($i=0; $i<$length; $i++)
$key .= $charset[(mt_rand(0,(strlen($charset)-1)))];
return $key;
}
Тогда я бы взял сгенерированную строку и сохранил ее в базе данных MySQL.
Каков наилучший способ убедиться, что сгенерированная случайная строка уникальна для всех других случайных строк, созданных для других записей в базе данных?
Может быть, что-то вроде этого?
while(++$i < 100)
{
//query db with random key to see if there is a match
//if no match found break out of loop
break;
}
Это кажется беспорядочным и длинным, и я могу потенциально поражать базу данных несколько раз. Как я могу быстро убедиться, что моя новая случайная строка уникальна?