2014-10-23 3 views
1

Я реализую реферальную систему, в которой пользователь может получить ссылку на ранее зарегистрированного пользователя моей системы или может регистрироваться вручную без какой-либо ссылки. Проблема, с которой я сталкиваюсь, заключается в том, что если пользователь не использует ссылочный токен для регистрации, то рефери пользователя - это сам пользователь. Как сохранить данные (внешний ключ) пользователя перед тем, как получить первичный ключ этой строки (который исходит от метода автоматического увеличения)? Для большего разрешения я прикрепляю это изображение. enter image description hereКак добавить данные, если первичный ключ используется как внешний ключ в одной таблице?

Заранее спасибо.

ответ

2

Один из способов - автоматическое создание ключа перед вставкой вместо использования функции автоматического увеличения. Самый простой способ сделать это - определить столбцы ID как uuid s вместо int s и сгенерировать следующий идентификатор из вашего приложения.

Лучше, тем не менее, ИМХО, состоит в том, чтобы изменить ваш дизайн и вместо того, чтобы использовать пользователя в качестве своего реферала в случае, если он не был передан другим пользователем, просто прямо заявить, что он не имеет реферала и использует значение null ,

Смежные вопросы