У меня есть требование, по которому мне нужно создать уникальные имена пользователей. Я знаю, как бы это сделать на стороне сервера, но хочу сделать это как можно более эффективным и делать это в базе данных как часть процедуры, но не знаю, с чего начать, поскольку я не слишком часто работаю с SQL.
Я хочу иметь возможность создать имя пользователя, используя первую букву его имени и его фамилию плюс некоторые числа, и если пользователь уже существует с этим именем пользователя, обновите его на 1. например,
У меня есть пользователи
- Bob Jones bjones1
- Bill Jones bjones2
Если добавить пользователя Beatrice Jones, то это будет bjones3.
Однако пользователи могут выбрать свое имя пользователя, так что кто-то, возможно, уже выбрал bjones3, поэтому я хочу, чтобы он автоматически генерировал bjones4.
Если нет пользователя B Jones, то первое созданное имя пользователя должно быть bjones
В идеале все это должно происходить как часть вставки пользователем в базу данных, поэтому мой код Go просто выполняет один вызов базы данных, и пользователь вставляется.
Обновление:
Когда пользователь выбирает собственное имя пользователя, я проверяю, существует ли оно, и блокирую его использование, если оно существует.