如何使用自动递增主键在表中插入空行

本文关键字:插入 何使用 | 更新日期: 2023-09-27 17:59:05

我只想使用SqlTransaction方法获取主。

这就是我目前所拥有的:

using (SqlTransaction transaction = connection.BeginTransaction())
{
    // insert IT Requirements
    string strITStaff = "INSERT INTO ITReq";
    strITStaff += "SELECT SCOPE_IDENTITY()";
    SqlCommand cmdITStaff = new SqlCommand(strITStaff, connection, transaction);
    ddlITSupport.SelectedValue.ToString());
    int ITStaffReq = Convert.ToInt32(cmdITStaff.ExecuteScalar());
    // update lanGaymen
    string strUpdatePhaseSix = "UPDATE lanGaymen SET ";
    strUpdatePhaseSix += "itReqID = @updateITReq ";
    strUpdatePhaseSix += "WHERE seasonID = @compareSeason";
    SqlCommand cmdUpdatePhaseSix = new SqlCommand(strUpdatePhaseSix, connection, transaction);
    cmdUpdatePhaseSix.Parameters.AddWithValue("@updateITReq", ITStaffReq);
}

如何使用自动递增主键在表中插入空行

为了插入包括"自动递增"值在内的默认值,您需要在INSERT中使用DEFAULT VALUES。此外,您需要在INSERTSELECT SCOPE_IDENTITY()之间至少有一个;(您当前的代码在这两个语句之间既没有空格也没有分号):

string strITStaff = "INSERT INTO ITReq DEFAULT VALUES;  SELECT SCOPE_IDENTITY()";

这将在ITReq表中插入所有默认值,然后从该表中选择新插入的IDENTITY