如何在INSERT INTO表中使用PK和FK

时间:2018-10-10 11:11:51

标签: sql ordbms

我几乎是个初学者,正在学习sql和RDBMS。 我尝试在下面提到的INSERT INTO [表]上下文中理解PK和FK使用的概念。令我感到困惑的是,例如,当我拥有这个Email类,该类具有来自Person类的FK时。我是否需要在INSERT INTO []()子句中以及因此在AddWithValue()中提及/使用它? 以及,我是否必须在INSERT INTO()中提及Email类的EmailID?

我感谢有人给我一个解释,以了解这些基本知识。

   public void CreateEmailDB(ref Email email)
    {
        string CreateEmail = @"INSERT INTO [Email] (EmailAddress, PersonID)
                                                OUTPUT INSERTED.EmailID  
                                                VALUES (@EmailId, @emailAddress, @PersonID)";

        using (SqlCommand cmd = new SqlCommand(CreateEmail, OpenConnection))
        {
            cmd.Parameters.AddWithValue("@EmailAddress", email.EmailAddress);
            cmd.Parameters.AddWithValue("@PersonID", email.PersonID);
            email.PersonID = (int)cmd.ExecuteScalar(); //Returns the identity of the new tuple/record
        }
    }

0 个答案:

没有答案