6 ответов:
Это может быть сделано в одной команде. Вам нужно установить свойство IDENTITY для "auto number":
ALTER TABLE MyTable ADD mytableID int NOT NULL IDENTITY (1,1) PRIMARY KEYточнее, чтобы установить ограничение уровня именованной таблицы:
ALTER TABLE MyTable ADD MytableID int NOT NULL IDENTITY (1,1), CONSTRAINT PK_MyTable PRIMARY KEY CLUSTERED (MyTableID)посмотреть ALTER TABLE and IDENTITY на MSDN
если таблица уже содержит данные и вы хотите изменить один из Столбцов на identity:
сначала создайте новую таблицу с теми же столбцами и укажите первичный ключ-kolumn:
create table TempTable ( Id int not null identity(1, 1) primary key --, Other columns... )скопировать все строки из исходной таблицы в новую таблицу, используя стандартный
insert-заявление.затем отбросьте исходную таблицу.
и, наконец, переименовать
TempTableвсе, что вы хотите, используяsp_rename:
это действие также можно выполнить с помощью среды SQL Server Management Studio.
щелкните правой кнопкой мыши на выбранной таблице - > изменить
щелкните правой кнопкой мыши на поле, которое вы хотите установить как PK -- > установить первичный ключ
В разделе свойства столбца установите для параметра "спецификация идентификатора" значение Да, затем укажите начальное значение и значение приращения.
тогда в будущем, если вы хотите иметь возможность просто писать такие вещи, вы можете исправить нажмите на таблицу, которую вы только что изменили, и выберите
"SCRIPT TABLE AS" -- > CREATE TO
, Так что вы можете увидеть для себя правильный синтаксис для выполнения этого действия.
Если у вас есть столбец, это очень легко.
используя конструктор, вы можете установить столбец в качестве идентификатора (1,1): щелкните правой кнопкой мыши на таблице → дизайн → частично слева (щелкните правой кнопкой мыши) → Свойства → в Столбцах идентификаторов выберите #столбец.
свойства:
столбец Identity:
в SQL Server 2008:
- Правой Кнопкой Мыши на таблице
- перейти к конструкции
- выбрать числовой тип данных
- добавить имя в новый столбец
- сделать спецификацию идентичности "да"
вы можете попробовать это... ALTER TABLE Your_Table Добавить table_ID int NOT NULL первичный ключ auto_increment;


Comments