답변:
이는 데이터베이스에 따라 다르지만 SQL Server의 경우 다음과 같이 수행 할 수 있습니다.
alter table Example
add NewColumn int identity(1,1)
Prevent saving changes that require table re-creation선택을 취소하고 해당 확인란을 사용하여 ID 열을 추가 할 수 있습니다. gui.
사용중인 SQL 데이터베이스를 게시하면 도움이 될 것입니다. MySQL의 경우 아마도 auto_increment를 원할 것입니다.
ALTER TABLE tableName ADD id MEDIUMINT NOT NULL AUTO_INCREMENT KEY
그래도 값이 소급 적용되는지 확실하지 않습니다. 그렇지 않은 경우 저장 프로 시저 또는 간단한 프로그램 (다른 사람이 데이터베이스에 기록하지 않는 한)을 사용하여 값을 반복하고 LAST_INSERT_ID()함수를 사용하여 id 값을 생성하도록 설정할 수 있어야 합니다.
ALTER TABLE을 사용하는 것만으로도 작동합니다. 적절한 유형과 IDENTITY 플래그가있는 열을 추가하면 트릭을 수행해야합니다.
ALTER TABLE 구문에 대한 MSDN 기사 http://msdn.microsoft.com/en-us/library/aa275462(SQL.80).aspx 를 확인하십시오 .
새 열의 유형 IDENTITY(자동 증가)을 원하지 않거나 행 번호가 매겨지는 순서를 구체적으로 지정하려면 유형의 열을 추가 한 INT NULL다음 이와 같이 채울 수 있습니다. 이 예에서 새 열은 MyNewColumn이고 테이블의 기존 기본 키 열은 MyPrimaryKey입니다.
UPDATE MyTable
SET MyTable.MyNewColumn = AutoTable.AutoNum
FROM
(
SELECT MyPrimaryKey,
ROW_NUMBER() OVER (ORDER BY SomeColumn, SomeOtherColumn) AS AutoNum
FROM MyTable
) AutoTable
WHERE MyTable.MyPrimaryKey = AutoTable.MyPrimaryKey
이것은 SQL Sever 2005 이상에서 작동합니다. ROW_NUMBER()