테이블의 열 순서 변경 문제(SQL Server 2008)
-
06-09-2019 - |
문제
이 열 목록을 변경하려고 하면 다음과 같습니다.
Nombre
Imagen
Descripcion
Activo
IdLineaProducto
이것에 (IdLineaProducto가 첫 번째입니다)
IdLineaProducto
Nombre
Imagen
Descripcion
Activo
SQL Server Management Studio에서는 테이블을 삭제하고 다시 생성해야 하기 때문에 변경 사항을 저장할 수 없다고 말합니다(스페인어...).SQL Server 2005에서는 이 작업을 수행할 수 있지만 SQL Server 2008에서는 수행할 수 없습니다.
int 비식별 열을 ID 열로 변환하려는 것과 같은 다른 상황에서도 마찬가지입니다.왜 이런 일이 발생합니까?이 문제를 어떻게 해결할 수 있나요?어쩌면 잘못 구성된 문제일까요?SQL Server의 새로운 기능이 있나요?
해결책
나는 찾았다 이 문제에 대한 해결책.
이것은 디자인에 의한 것이며 부동산을 선택 취소하여 관리 스튜디오에서 신속하게 고정 될 수 있습니다. Management Studio 에서이 문제를 해결하려면 도구 -> 옵션으로 이동 한 다음 디자이너 페이지로 이동하여 "테이블 재창조가 필요한 변경 사항 저장을 방지합니다".
그것이 가질 수 있음을 조심하십시오 바람직하지 않은 결과, 이와 관련된 다른 테이블에서 데이터를 잃는 것과 같습니다.
다른 팁
그것이 바로 작동 방식입니다 ...열을 끝에만 추가할 수 있습니다. DROP
그것과 CREATE
(일반적으로 IDE가 도움이 될 수 있는 데이터를 복사하고 다시 복사합니다.)하지만 왜 순서를 바꾸시겠어요?이상적이지 않더라도 SELECT
등등이 이것을 처리 할 수 있습니다 ...즉.
SELECT IdLineaProducto, Nombre, Imagen, Descripcion, Activo
FROM TheTable
...
(그냥 사용하는 것은 거의 좋은 생각이 아닙니다. SELECT *
)
다시 IDENTITY
;다시 말하지만, 이는 열의 기본입니다. 이 경우 데이터를 복사할 수 있지만 DROP
열, 그리고 다시ADD
열은 IDENTITY
(오른쪽) 다시 복사해 두세요. 하지만 그러면 추가로 복잡한 문제가 발생합니다. IDENTITY INSERT
그리고 SEED
값(기존 ID 값의 중복을 얻으려고 시도하지 않도록).