У меня есть простая база данных следующей формы:
Users{
UserID (PK)
Username
Email
FirstName
SecondName
}
Groups{
GroupID (PK)
GroupName
}
Membership{
UserID (FK)
GroupID (FK)
}
Членство - это промежуточное звено для двух других таблиц. Когда пользователь регистрируется, его имя пользователя вставляется в таблицу «Пользователи и группы» (создавая группу самостоятельно). UserID и GroupID должны ссылаться на соответствующие столбцы в Users
и Groups
.
Это лучший способ сделать это просто с помощью трех операторов INSERT INTO, когда пользователь регистрируется, например:
if (db.Execute("INSERT INTO Users(Username, Email, FirstName, SecondName) VALUES(@0,@1,@2,@3)", username, email, firstName, secondName) < 1
|| db.Execute("INSERT INTO Groups(GroupName) VALUES(@0)", username) < 1
|| db.Execute("INSERT INTO Membership(UserID, GroupID) VALUES(@0, @1)",?????????????) < 1)
{
<p class="error">Wasn't able to insert User record</p>//insert failed
}else {
Response.Redirect("Success.cshtml"); //success
}
Что я должен вставить в третий оператор INSERT INTO, чтобы он правильно вставлял ID пользователя и соответствующий groupID?