UPDATE다음
쿼리 여기
SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = 'history'
CONSTRAINT_NAME COLUMN_NAME ORDINAL_POSITION
PK_history userKey 1
PK_history name 2
의 결과로 제약 쿼리
SELECT *
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME = 'history'
CONSTRAINT_NAME CONSTRAINT_TYPE IS_DEFERRABLE INITIALLY_DEFERRED
PK_history PRIMARY KEY NO NO
END의 결과입니다 UPDATE
내 호스트는 ASP.NET 엔터프라이즈 관리자를 통해 SQL Server DB에 대한 인터페이스를 제공합니다.
내가 내 history
테이블의 3 열이 :
userId
id
(키가 아닌 (키, INT가 NULL 허용되지 않습니다)name
이 (키, 문자열, NULL 허용되지 않습니다) NULL 허용 INT)
나는 ID 열에 유일한 키 만들고 싶어.
- 하면 해당 컬럼에는 널 (NULL)이 널 (NULL)이
- A와 열을 추가 허용하지 열을 설정 한 행
- 위해가 없는지 확인 :
그렇게하려면, 내가 필요 믿는다 내가 제공하는 UI를 사용할 때
그러나, 그것이 작동하지 키와 기본 키
변경 사항이 하나 표시되지 않습니다. 난 단지 널 (NULL)을 허용하고 id 컬럼에 대한 기본 키를 추가하는 시도에 왔
SELECT * from history WHERE id is NULL <---- This shows 0 results
ALTER TABLE history
ALTER COLUMN id int NOT NULL
ALTER TABLE history ADD PRIMARY KEY (id)
ALTER TABLE history
DROP CONSTRAINT userId
DROP CONSTRAINT name
GO
: 여기에 내가 필요하다고 생각 쿼리입니다. 그것은 작동하지 않는 것 같습니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까? 감사! 당신이 어떤 이름을 모르는 경우
ALTER TABLE history DROP CONSTRAINT pk_history
ALTER TABLE history ADD CONSTRAINT pk_history PRIMARY KEY (id)
:이와
ALTER TABLE history ADD PRIMARY KEY (id)
ALTER TABLE history
DROP CONSTRAINT userId
DROP CONSTRAINT name
:
오류 메시지가 나타 납니까? –
먼저 제약 조건을 제거해야합니다. –
아니요, 쿼리에 오류 메시지가 표시되지 않습니다. UI를 사용하면 null을 허용 할 때 id 열을 키로 설정하는 것과 관련된 오류가 발생하지만 null을 허용하지 않으려는 경우 오류가 발생하지 않습니다. – ckbhodge