Запрос предложения входа - PullRequest
12 голосов
/ 15 января 2010

Я хочу предложить логин пользователю, если его первый выбор уже сделан. Предположим, пользователь хочет зарегистрироваться как «Супермен». На сайте уже есть несколько Суперменов. Логины предлагаются в виде «Superman01», «Superman02» и так далее. Итак, скрипт должен:

  • проверка входа в систему 'Superman' в db
  • , если он уже используется, добавьте «01» для входа в систему и проверьте его в БД
  • , если он уже используется, увеличить счетчик ('02'), добавить к логину и проверить еще раз
  • когда найден невостребованный логин, верните его пользователю

Что мне сейчас не нравится в этой схеме, так это то, что она принимает несколько запросов к базе данных MySQL. Есть ли способ получить первый невостребованный логин за один раз? Может быть, с хранимой процедурой или умным SQL-запросом?

UPD : предлагается вознаграждение

Ответы [ 11 ]

0 голосов
/ 22 января 2010

Большинство из этих ответов правильные, но жестко запрограммируйте запрошенное имя пользователя в операторе SQL.

SELECT MAX(SUBSTR(user,LENGTH('{$request}')+1))+1
FROM users
WHERE username LIKE '{$request}%'

Вернет подходящий суффикс (ноль, если имя пользователя уже не используется)

С

...