Итак, у меня есть схема базы данных MySQL, в которой есть таблица USERS, которая содержит идентификатор в качестве первичного ключа для этой таблицы, у меня также есть таблица USER_PASSWORDS, ссылки таблица USERS, в которой USER_ID будет действовать как внешний ключ в этой таблице.MySQL Вставить пользователя и пароль одновременно, но в разных таблицах
Проблема, с которой я столкнулась, заключается в том, что я пишу приложение, в котором пользователь сможет зарегистрироваться и указать имя пользователя и пароль. Но я хотел бы вставить пользователя в базу данных с одним запросом.
Я думал, что мне нужно сначала вставить имя пользователя в таблицу USERS и посмотреть, какой идентификатор был присвоен этому имени пользователя, а затем вставить хэш пароля, введенного пользователем в таблицу USER_PASSWORDS, и указать идентификатор, который был запрошен.
Я не люблю этот подход, потому что это означает, что я должен:
вставки в базе данных запроса к базе данных INSERT в базу данных снова
Есть ли лучший способ сделать это?
Благодаря
Эй, спасибо за информацию. Я буду писать это приложение на Java, и у меня есть опыт использования JDBC для подключения и запроса базы данных. Мне было интересно, сможет ли Hibernate помочь? – Hussain1993
Добро пожаловать. Последний идентификатор вставки для Java JDBC: http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#getGeneratedKeys%28%29 ---> Однако мне интересно, почему в В мире вы разделяете хэши паролей из таблицы пользователей? Усушно каждый пользователь получил один пароль, поэтому у вас есть соотношение 1: 1, которое не требует дополнительной таблицы -> confused oO – Steini
Ах, извините, забыли упомянуть, что пользователю придется менять пароль каждые 3 месяца или около того, и мы хотели бы сохранить историю всех хэшей паролей и дату их истечения и т. д. – Hussain1993