Program Club

null이 아닌 제약 조건을 어떻게 삭제할 수 있습니까?

proclub 2020. 12. 8. 20:12
반응형

null이 아닌 제약 조건을 어떻게 삭제할 수 있습니까?


다음과 같이 생성 된 테이블이 있다고 가정 해 보겠습니다.

create table testTable ( colA int not null )

null이 아닌 제약 조건을 어떻게 삭제합니까? 나는 라인을 따라 뭔가를 찾고 있어요

ALTER TABLE testTable ALTER COLUMN colA DROP NOT NULL;

PostgreSQL을 사용하면 어떤 모습일까요? 놀랍게도 내가 찾을 수있는 한 MySQL 문서, Google 및 예, 심지어 Stackoverflow (수십 또는 수백 개의 NULL 관련 질문에도 불구하고)조차 하나의 간단한 SQL 문으로 이어지지 않는 것 같습니다. 일을 할 것입니다.


나는 이와 같은 것을 시도 할 것이다

ALTER TABLE testTable MODIFY COLUMN colA int;

MySQL에서 null 허용 여부는 제약 조건이 아니라 데이터 유형의 일부입니다. 그래서:

ALTER TABLE testTable MODIFY COLUMN colA int null; 

구문은 실제로 가깝습니다.

ALTER TABLE testTable CHANGE colA colA int null;

시험

ALTER TABLE testTable MODIFY COLUMN columnA int;

이것은 나를 위해 작동합니다

ALTER TABLE table_name
MODIFY COLUMN column_name VARCHAR(25) UNIQUE;

Mysql Workbench에서 테이블 제약 조건이나 데이터 유형을 수정하면 요청을 완료하기 위해 실행할 코드가 표시됩니다. 그리고 이것이 제가 그 상자에서 얻은 쿼리입니다.

ALTER TABLE `table_name`.`column_name`  CHANGE COLUMN `column_name` `colunm_name`datatype NULL ;

그러나 여기서 중요한 점은 기본 키를 null로 가질 수 없다는 것입니다. 대신 고유하게 설정해야합니다.


ALTER TABLE test.tbl_employee 
CHANGE COLUMN `DepartmentId` `DepartmentId` INT(11) NULL;

참고 URL : https://stackoverflow.com/questions/2607775/how-can-a-not-null-constraint-be-dropped

반응형