2009-11-06 6 views
2

PostgreSQL의 모든 테이블의 모든 열에서 빈 문자열로 모든 레코드를 업데이트하고 싶습니다. 이 작업을 쿼리로 수행 할 수있는 방법이 있습니까? 또는 적어도 NOT NULL 제약 조건이없는 모든 열을 쿼리하는 방법. 당신은 자신이 모든 테이블 및 열에 대한 진술을 갱신 생성 할 수 데이터로부터이PostgreSQL의 모든 테이블의 모든 레코드에서 모든 빈 문자열을 NULL로 설정하십시오.

select * 
from information_schema.columns 
where is_nullable = 'YES'; 

같은 INFORMATION_SCHEMA

답변

2

방문.

+0

나중에 빈 열이 허용되지 않도록이 열에 제약 조건을 적용 할 수 있습니다. – Kuberchaun

+0

@ StarShip3000 이것은 다른 데이터베이스에서 가져온 데이터입니다. 외래 키가 없으며 어떠한 제약도 없습니다 ..... –

+0

특정 데이터베이스와 네임 스페이스를 필터링 할 수 있습니다 : 'select table_name, column_name from information_schema.columns where is_nullable = 'YES'이고 table_schema = '' table_catalog = ''입니다. 이 결과를 텍스트 파일에 저장 한 후에는'SELECT count (*) from'으로 행 시작 부분을''where''로 끝나는 줄과':: text = '';''로 끝나는 줄을 바꿀 수 있습니다. 이렇게하면 빈 문자열이있는 테이블을 식별하기 위해 실행할 명령을 선택할 수 있습니다. –

관련 문제