Как вставить в таблицу с уникальным идентификатором столбец INT в качестве первичного ключа - PullRequest
0 голосов
/ 15 апреля 2020

Чтобы вставить в таблицу следующее целочисленное значение идентификатора, это будет выглядеть примерно так?

DECLARE @RoomID INT
SELECT @RoomID = (SELECT count(*) FROM [dbo].[Rooms])
SELECT @RoomID = SELECT @RoomID + 1

INSERT INTO [dbo].[Rooms]
           ([RoomID], 
            [RoomType], 
            [Description], 
            [DateCreated], 
            [IsActive])
     VALUES
           (@RoomID, 
            2,  
            N'Room Description X', 
            CONVERT(DateTime2, getdate()),
            1) 

1 Ответ

1 голос
/ 15 апреля 2020
  1. Если вы хотите принудительно задать указанный c номер в столбце, который является столбцом идентификаторов, вам нужно использовать команду SET IDENTITY_INSERT table_name OFF и включить его снова после того, как вы закончите.

https://docs.microsoft.com/en-us/sql/t-sql/statements/set-identity-insert-transact-sql

Если вы просто хотите вставить данные в таблицу, пропустите столбец, и SQL Сервер вставит его для вас.
    INSERT INTO [dbo].[Rooms]
               ( 
                [RoomType], 
                [Description], 
                [DateCreated], 
                [IsActive])
         VALUES
               (
                2,  
                N'Room Description X', 
                CONVERT(DateTime2, getdate()),
                1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...