Sql server 与表中的插入相关

Sql server 与表中的插入相关,sql-server,Sql Server,当我想插入包含属性的表(VehicleWheel)时 VehicleWheelId int vehiclehelname varchar(20)) 如果自动生成Id,并且我想插入名称,则会发生错误: 无法在表中插入标识列的显式值 当IDENTITY_INSERT设置为OFF时为“VehicleWheel” 请给我回复我如何克服这个错误 谢谢……错误清楚地说明了问题所在(插入列列表中的标识列VehicleID) 将insert语句更改为: CREATE PROCEDURE dbo.usp_Inse

当我想插入包含属性的表(
VehicleWheel
)时

  • VehicleWheelId int
  • vehiclehelname varchar(20))
  • 如果自动生成
    Id
    ,并且我想插入名称,则会发生错误:

    无法在表中插入标识列的显式值 当IDENTITY_INSERT设置为OFF时为“VehicleWheel”

    请给我回复我如何克服这个错误


    谢谢……

    错误清楚地说明了问题所在(插入列列表中的标识列VehicleID)

    将insert语句更改为:

    CREATE PROCEDURE dbo.usp_InsertUpdateVehicleWheel
    (
      @vehicleWheelId int,
      @vehicleWheelName varchar(20)
    )
    AS
        IF @vehicleWheelId = 0
           INSERT INTO VehicleWheel (VehicleWheelId, VehicleWheelName)
           VALUES (@vehicleWheelId, @vehicleWheelName)
        else 
           UPDATE VehicleWheel 
           SET VehicleWheelName = @vehicleWheelName
           WHERE VehicleWheelId = @vehicleWheelId
    
        RETURN----------
    
    因此,SP现在应该是:

    Insert into VehicleWheel (VehicleWheelName) values (@vehicleWheelName)
    

    错误清楚地说明了问题所在(插入列列表中的标识列VehicleID)

    将insert语句更改为:

    CREATE PROCEDURE dbo.usp_InsertUpdateVehicleWheel
    (
      @vehicleWheelId int,
      @vehicleWheelName varchar(20)
    )
    AS
        IF @vehicleWheelId = 0
           INSERT INTO VehicleWheel (VehicleWheelId, VehicleWheelName)
           VALUES (@vehicleWheelId, @vehicleWheelName)
        else 
           UPDATE VehicleWheel 
           SET VehicleWheelName = @vehicleWheelName
           WHERE VehicleWheelId = @vehicleWheelId
    
        RETURN----------
    
    因此,SP现在应该是:

    Insert into VehicleWheel (VehicleWheelName) values (@vehicleWheelName)
    

    您需要将IDENTITY INSERT设置为ON,我不知道,感觉错误很明显

    您可以使用以下方法执行此操作:

    CREATE PROCEDURE dbo.usp_InsertUpdateVehicleWheel
    (
        @vehicleWheelId int,
        @vehicleWheelName varchar(20)
    )
    
    AS
    
        if @vehicleWheelId=0
                INSERT INTO VehicleWheel (VehicleWheelName) VALUES (@vehicleWheelName)
        ELSE 
        Update VehicleWheel set
        VehicleWheelName = @vehicleWheelName
        where VehicleWheelId = @vehicleWheelId
        RETURN----------
    

    表是您的表的位置

    您需要将IDENTITY INSERT设置为ON,我不知道,感觉错误很明显

    您可以使用以下方法执行此操作:

    CREATE PROCEDURE dbo.usp_InsertUpdateVehicleWheel
    (
        @vehicleWheelId int,
        @vehicleWheelName varchar(20)
    )
    
    AS
    
        if @vehicleWheelId=0
                INSERT INTO VehicleWheel (VehicleWheelName) VALUES (@vehicleWheelName)
        ELSE 
        Update VehicleWheel set
        VehicleWheelName = @vehicleWheelName
        where VehicleWheelId = @vehicleWheelId
        RETURN----------
    
    你们的桌子在哪里