Можете ли вы добавить личность в существующий столбец в SQL Server 2008? - PullRequest
1 голос
/ 15 февраля 2010

Во всех моих поисках я вижу, что вам, по сути, нужно скопировать существующую таблицу в новую таблицу, чтобы получить возможность идентифицировать столбец до 2008 года. Это относится и к 2008 году?

спасибо.

Самое краткое решение, которое я нашел до сих пор:

CREATE TABLE Test 
 ( 
   id int identity(1,1), 
   somecolumn varchar(10) 
 ); 

 INSERT INTO Test VALUES ('Hello'); 
 INSERT INTO Test VALUES ('World'); 


 -- copy the table. use same schema, but no identity 
 CREATE TABLE Test2 
 ( 
   id int NOT NULL, 
   somecolumn varchar(10) 
 ); 

 ALTER TABLE Test SWITCH TO Test2; 

 -- drop the original (now empty) table 
 DROP TABLE Test; 

 -- rename new table to old table's name 
 EXEC sp_rename 'Test2','Test'; 

 -- see same records 
 SELECT * FROM Test; 

Ответы [ 5 ]

1 голос
/ 11 июля 2013

мы не можем добавить идентификатор в существующий столбец с помощью команды sql, но мы можем сделать это с помощью графического интерфейса. Щелкните правой кнопкой мыши на таблице - дизайн - выберите столбец, на котором вы хотите добавить личность. перейдите к свойствам, доступным ниже. найти спецификацию и установить да. сохранить таблицу.

если он не сохранен, перейдите к инструментам из меню - опции - дизайнер таблиц - снимите флажок, чтобы не сохранять изменения Теперь вы можете сохранить таблицу модификаций.

теперь у вашей существующей таблицы есть личность.

0 голосов
/ 15 февраля 2010

В SQL 2005 и более ранних версиях нельзя было изменить существующий столбец, чтобы он стал столбцом идентификаторов. Я считаю очень маловероятным, что MS изменила это в 2008 году.

0 голосов
/ 15 февраля 2010

Ну, вы можете сделать что-то вроде этого.

ALTER TABLE my_table ADD ID_COLUMN INT IDENTITY (1,1) NOT NULL
0 голосов
/ 15 февраля 2010

Вы можете добавить свойство IDENTITY в существующий столбец, используя графический интерфейс Enterprise Manager / Management Studio.

0 голосов
/ 15 февраля 2010

Во всех новых документах о функциях, которые я читал о 2008 году, добавление идентификатора в существующий столбец не было функцией, которую я помню. Решение, которое вы нашли, является правильным, и я думаю, что процесс автоматического добавления идентификатора в столбец будет очень редко полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...