Alter Table TableName
Alter Column Num Int Not null Identity(1,1)
하니깐 해당 컬럼속성이 자동증가로 안되네요 그냥 에러납니다. ㅠㅠ
그래서
Alter Table TableName
Add Num_id Int Not null Identity(1,1) 하나 자동증가필드를 새로 만들고
Set Identity_Insert TableName Off
update TableName Set Num_id = Num
Set Identity_Insert TableName On
했는데 update구문에서 오류가 나네요 넣을 수 없다고요 ㅠㅠ
어떻게해야 Identity값을 변경할 수 있을까요?
Comment 2
-
처리짱
2013.12.12 12:07
-
CREATE TABLE 과 ALTER TABLE을 MSDN에서 찾아보면
CREATE TBALE은 column_definition에서 IDENTITY를 정의 할 수 있도록 되어 있습니다.
하지만 ALTER TABLE은 ADD시에만 column_definition을 CREATE TBALE할때 처럼 정의 할 수 있고
ALTER COLUMN의 경우에는 데이터 타입이나 NULL옵션등 일부만 정의 할 수 있도록 되어 있습니다.
말하자면 ALTER COLUMN으로 IDINTITY로 변경할 수는 없다는 거죠.
그리고 IDENTITY컬럼에 데이터를 강제로 수정 추가 하려면 SET IDENTITY_INSERT ON을 하셔야 합니다.
Set Identity_Insert 옵션을 줘도 업데이트가 안되요..
해당로우를 다른곳에 저장해 두었다가 삭제하고 위 옵션으로 다시 입력해야해요