MySQL Установить значение поля по умолчанию в соответствии с идентификатором записи - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть MySQL таблица со следующей структурой:

-------------
| id | name | 
-------------

Где ID - это int auto_increment, а имя - просто varchar (255).

Так что мне нужно установить с помощью базы данных значение по умолчанию для имени (если оно пусто после запроса вставки), например:

INSERT INTO users;
id = 1
name = "User1"

... оно также должно работать с нулем:

INSERT INTO users (name) VALUES (null);
id=8232
name = "User8232"

и также было бы хорошо, если бы мы отправили пустое значение для имени:

INSERT INTO users (name) VALUES ('');
id=8233
name = "User8233"

Но если я явно установлю значение, которое должно быть:

INSERT INTO users VALUES ('TestUser')
id=8232
name = "TestUser"

Кроме того, оно было бы неплохо, если бы эти логики c были бы не в триггере, а в определении таблицы или в самом запросе вставки.

Поэтому цель создания уникального имени пользователя для новых регистраций.

Спасибо!

1 Ответ

0 голосов
/ 17 апреля 2020

вы можете использовать хранимую процедуру для достижения этой цели. создайте хранимую процедуру, которая принимает параметр UserName. В вашем SP убедитесь, что имя пользователя пустое или пустое, напишите свой лог c. Дайте мне знать, если вам нужно точное определение SP

...