Как удалить столбец идентификатора из локальной таблицы sql или изменить его на АВТО УВЕЛИЧЕНИЕ? - PullRequest
0 голосов
/ 17 июня 2020

Я хочу избавиться от столбца идентификаторов, который я добавил в локальную таблицу sql.

Когда я удалил столбец из конструктора и попытался обновить, я получил следующее:

enter image description here

Другой вариант - сделать столбец ID АВТОМАТИЧЕСКОЕ УВЕЛИЧЕНИЕ, изменив его на «[Id] INT NOT NULL AUTO INCREMENT», но я также получал ошибку, когда Я добавил это в определение таблицы и выбрал «Обновить».

Даже когда я изменяю таблицу обратно на то, что она есть (добавляю столбец идентификатора), вот так:

CREATE TABLE [dbo].[WordsToIgnore] (
    [Id]           INT        NOT NULL,
    [WordToIgnore] NCHAR (50) NOT NULL,
    [Source]       NCHAR (50) NOT NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

... Я все еще получаю сообщение об ошибке, когда пытаюсь обновить ...

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Нам нужно определить столбец, как указано ниже. ССЫЛКА MSDN

<column_definition> ::= column_name <data_type>
[ FILESTREAM ]
[ COLLATE collation_name ]
[ SPARSE ]
[ MASKED WITH ( FUNCTION = ' mask_function ') ]
[ CONSTRAINT constraint_name [ DEFAULT constant_expression ] ]
[ IDENTITY [ ( seed,increment ) ]
[ NOT FOR REPLICATION ]
[ GENERATED ALWAYS AS ROW { START | END } [ HIDDEN ] ]
[ NULL | NOT NULL ]
[ ROWGUIDCOL ]
[ ENCRYPTED WITH
    ( COLUMN_ENCRYPTION_KEY = key_name ,
      ENCRYPTION_TYPE = { DETERMINISTIC | RANDOMIZED } ,
      ALGORITHM = 'AEAD_AES_256_CBC_HMAC_SHA_256'
    ) ]
[ <column_constraint> [, ...n ] ]
[ <column_index> ]

Итак, вот оно:

CREATE TABLE [dbo].[WordsToIgnore] (
    Id INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_WordsToIgnore PRIMARY KEY CLUSTERED,
    [WordToIgnore] NCHAR (50) NOT NULL,
    [Source]       NCHAR (50) NOT NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);

Или вы можете определить ограничение в отдельной строке

CREATE TABLE [dbo].[WordsToIgnore] (
    Id INT IDENTITY(1,1) NOT NULL ,
    [WordToIgnore] NCHAR (50) NOT NULL,
    [Source]       NCHAR (50) NOT NULL,
    CONSTRAINT PK_WordsToIgnore PRIMARY KEY CLUSTERED ([Id] ASC)
);
0 голосов
/ 17 июня 2020

На основе этого следующее должно сработать:

[Id] INT NOT NULL IDENTITY(1,1) PRIMARY KEY

(IOW, вмешаться в джаз «IDENTITY (1,1)» между «NULL» и «PRIMARY» КЛЮЧ "

...