nullable 정수 열이 여러 개인 테이블이 있습니다. 이것은 여러 가지 이유로 바람직하지 않으므로 모든 null을 0으로 업데이트 한 다음이 열을로 설정하려고 NOT NULL
합니다. null을로 변경하는 것 외에도 0
데이터를 보존해야합니다.
열 을 ” ” 로 변경 하기 위해 특정 SQL 구문 을 찾고 있습니다. 널을 포함하지 않도록 데이터가 갱신되었다고 가정하십시오.ColumnA
not null
사용하여 SQL 서버 2000 .
답변
먼저 모든 현재 NULL
값을 사라지게하십시오.
UPDATE [Table] SET [Column]=0 WHERE [Column] IS NULL
그런 다음 “NULLs”를 허용하지 않도록 테이블 정의를 업데이트하십시오.
ALTER TABLE [Table] ALTER COLUMN [Column] INTEGER NOT NULL
답변
나는 같은 문제가 있었지만 필드는 기본적으로 null로 설정되었고 이제는 0으로 기본값을 설정하려고합니다. mdb의 솔루션 뒤에 한 줄을 더 추가해야했습니다.
ALTER TABLE [Table] ADD CONSTRAINT [Constraint] DEFAULT 0 FOR [Column];
답변
다음 두 단계로 수행해야합니다.
- 열에 널이 없도록 테이블을 업데이트하십시오.
UPDATE MyTable SET MyNullableColumn = 0
WHERE MyNullableColumn IS NULL
- 테이블의 속성을 변경하여 열 속성 변경
ALTER TABLE MyTable
ALTER COLUMN MyNullableColumn MyNullableColumnDatatype NOT NULL
답변
Oracle 11g의 경우 다음과 같이 열 속성을 변경할 수있었습니다.
ALTER TABLE tablename MODIFY columnname datatype NOT NULL;
그렇지 않으면 abatichev의 대답은 좋았습니다. 변경을 반복 할 수 없습니다-적어도 SQL Developer에서는 열이 이미 null이 아니라고 불평합니다.
답변
이것은 나를 위해 일했다 :
ALTER TABLE [Table]
Alter COLUMN [Column] VARCHAR(50) not null;
답변
열이 고유 식별자가 아닌 한
UPDATE table set columnName = 0 where columnName is null
그때
테이블을 변경하고 필드를 널이 아닌 값으로 설정하고 기본값 0을 지정하십시오.
답변
이것은 더 단순 해 보이지만 Oracle에서만 작동합니다.
ALTER TABLE [Table]
ALTER [Column] NUMBER DEFAULT 0 NOT NULL;
또한이를 통해 열을 변경하는 것만이 아니라 열을 추가 할 수도 있습니다. 이 예에서는 값이 null 인 경우 기본값 (0)으로 업데이트됩니다.