문제

이 열 목록을 변경하려고 하면 다음과 같습니다.

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 값의 중복을 얻으려고 시도하지 않도록).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top