Введение
У меня есть база данных с именем пользователя , с двумя таблицами внутри: userinfo
и usermeta
. (ожидается, что usermeta будет расширена). На данный момент usermeta
имеет два столбца user_meta_id, которые должны соответствовать user_id
(оба первичных ключа) и user_info
(со стандартным значением NULL). В части регистрации я добавляю все необходимые значения в таблицу userinfo
(пароли и т. Д.). Я хочу, чтобы вызвать первичный ключ user_meta_id
, чтобы установить идентификатор в usermeta и еще не установить значение user_info. Итак, я попробовал «INSERT INTO usermeta», но, очевидно, это не работает.Вставка без значения
Мой другой запрос, чтобы добавить информацию в таблице USERINFO является
INSERT INTO userinfo (user_name, user_email, user_password, user_sname)
VALUES ('$fname','$email','$encPassword','$sname')
Вопрос
Как я могу вызвать user_meta_id
установить идентификатор такой же, как user_id
(оба выполняются запросы почти одновременно , подумал: «Значит, они устанавливают одинаковый идентификатор пользователя»)
Надеюсь, вы поймете мой вопрос, если у вас есть какие-либо вопросы по поводу моего вопроса или «фона», вы можете задать вопрос: D
Редактировать
Пользователь PHP код + SQL запросов:
$registerQuery = "INSERT INTO userinfo (user_name, user_email, user_password, user_sname)
VALUES ('$fname','$email','$encPassword','$sname')";
$last_id = mysqli_insert_id($conn);
Для добавления внешнего ключа SQL:
ALTER TABLE usermeta ADD FOREIGN KEY (user_meta_id) REFERENCES userinfo.user_id
Try, чтобы получить последнюю вставленную запись 'id'. после первого запроса. – Ionut
Okee, что означает, что мой user_meta_id может быть автоматическим приращением? – Sander
Это должен быть внешний ключ. Но вы также должны сохранить идентификатор с автоинкрементами. См. Мой ответ. – Ionut