2010-05-25 3 views
1

Я создал таблицу с employee id как столбец идентификации. Теперь я хочу удалить идентификатор и заменить тип данных как bigint. Я использую Sql Compact edition. Как достичь этого?Как удалить столбец идентификатора из таблицы

+1

Wil попробуйте сделать выше .. Im new в этом форуме – Shiny

+0

duplicate: [SQL Server как удалить личность из столбца] (http://stackoverflow.com/questions/702745/sql-server-how-to- drop-identity-from-a-column) –

+0

Используйте этот подход, который определен в http://stackoverflow.com/questions/702745/sql-server-how-to-drop-identity-from-a-column – Vandana

ответ

0

В «реальном» SQL Server вам необходимо выполнить следующие действия: не уверены, разрешает ли SQL Server CE то же самое, но дайте ему попробовать! Я предполагаю, что у вас, вероятно, есть ограничение PRIMARY KEY для этой колонки тоже? Если нет, вам не нужно делать первый и последний шаг. И я предполагаю, что вы хотите снова иметь идентификацию в столбце, верно?

-- DROP the primary key constraint (if you have that on your column) 
ALTER TABLE dbo.Employees 
DROP CONSTRAINT PK__Employees__3214EC274222D4EF 

-- ALTER the datatype into BIGINT 
ALTER TABLE dbo.Employees 
ALTER COLUMN Employee_ID BIGINT 

-- set PK constraint again 
ALTER TABLE dbo.Employees 
ADD CONSTRAINT PK_Employees PRIMARY KEY(Employee_ID) 
3

Я не верю, что вы можете, используя TSQL, удалить свойство IDENTITY из колонки. Вместо:

  1. Добавить новый столбец BIGINT к столу
  2. Скопируйте данные из текущего поля IDENTITY в новое поле
  3. Отбросьте существующий столбец
  4. Переименуйте новый столбец правильное имя

Вы можете сделать это в SSMS в представлении «Дизайн» для таблицы. Я считаю, что за кулисами он делает что-то вроде выше.

Update: Для подтверждения в SSMS 2K8 при попытке удалить свойство IDENTITY из колонки, а затем сохранить его, он будет на самом деле воссоздать таблицу (вы можете увидеть, что это делает именно путем мониторинга в SQL Profiler). Чтобы сделать это в SSMS, вам необходимо убедиться, что опция «Предотвратить сохранение изменений, требующих повторного создания таблицы», отключена в «Инструменты» -> «Параметры» -> «Дизайнеры» -> «Дизайнеры таблиц и баз данных». Я думаю, что по умолчанию он включен, что приведет к появлению сообщения об ошибке при попытке сделать это иначе.

Смежные вопросы