Автоинкрементный первичный ключ в таблицах SQL
используя графический интерфейс Sql Express Management Studio 2008 (не с кодированием), как я могу сделать первичный ключ автоматически увеличенным?
позвольте мне объяснить: существует таблица, которая имеет столбец с именем "id" и элементы этого столбца установлены в качестве первичных ключей. Я хочу сделать этот столбец автоматически увеличенным, но как?
Ура
6 ответов:
- предположительно вы находитесь в дизайне таблицы. Если нет: щелкните правой кнопкой мыши имя таблицы -"конструкция".
- выберите нужный столбец.
- в "свойства столбца " (внизу), прокрутите до "Спецификация Идентификатора "раздел, разверните его, затем переключите"(Is Identity)" на "да".
щелкните правой кнопкой мыши на таблице в 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), первичный ключ(идентификатор) ).. Я пытаюсь увидеть, есть ли способ изменить существующую таблицу и сделать столбец как идентификатор, который теоретически не выглядит возможным (поскольку существующие значения могут нуждаться в модификации)