Автоинкрементный первичный ключ в таблицах SQL


используя графический интерфейс Sql Express Management Studio 2008 (не с кодированием), как я могу сделать первичный ключ автоматически увеличенным?

позвольте мне объяснить: существует таблица, которая имеет столбец с именем "id" и элементы этого столбца установлены в качестве первичных ключей. Я хочу сделать этот столбец автоматически увеличенным, но как?

Ура

6 53

6 ответов:

  1. предположительно вы находитесь в дизайне таблицы. Если нет: щелкните правой кнопкой мыши имя таблицы -"конструкция".
  2. выберите нужный столбец.
  3. в "свойства столбца " (внизу), прокрутите до "Спецификация Идентификатора "раздел, разверните его, затем переключите"(Is Identity)" на "да".

enter image description here

щелкните правой кнопкой мыши на таблице в SSMS, "дизайн" его, и нажмите на столбец id. В свойствах установите идентификатор для заполнения @ например, 1 и иметь приращение 1 - сохранить, и вы сделали.

хотя это не способ сделать это в графическом интерфейсе, но вы можете получить автоинкремент просто с помощью IDENTITY datatype (start, increment):

CREATE TABLE "dbo"."TableName"
(
   id int IDENTITY(1,1) PRIMARY KEY NOT NULL,
   name varchar(20),
);

в инструкции insert должны быть перечислены все столбцы, кроме столбца id (он будет заполнен значением autoincremented):

INSERT INTO "dbo"."TableName" (name) VALUES ('alpha');
INSERT INTO "dbo"."TableName" (name) VALUES ('beta');

и в результате

SELECT id, name FROM "dbo"."TableName";

будет

id    name
--------------------------
1     alpha
2     beta

У меня нет Express Management Studio на этой машине, поэтому я буду основываться на памяти. Я думаю, что вам нужно установить столбец как "IDENTITY", и там должно быть [+] в разделе Свойства, где вы можете развернуть и установить автоинкремент в true.

для тех, у кого есть проблема с ним, все еще не позволяя вам сохранить его после изменения в соответствии с ответом ниже, выполните следующие действия:

Инструменты - > Параметры - > конструкторы - > конструкторы таблиц и баз данных - > снимите флажок "запретить сохранение изменений, требующих повторного создания таблицы" - > OK

и попытаться спасти как это должно работать

Я думаю, что есть способ сделать это на этапе определения, как это

создать сотрудника ( идентификатор инт тож, название тип varchar(50), первичный ключ(идентификатор) ).. Я пытаюсь увидеть, есть ли способ изменить существующую таблицу и сделать столбец как идентификатор, который теоретически не выглядит возможным (поскольку существующие значения могут нуждаться в модификации)