openlang

PostgreSQL 9+에서 있을 수도 있는 열 안전하게 삭제하기

테이블의 열을 하나 삭제하고 싶습니다. 그 열이 있는지 확인하려면 어떻게 해야 하나요?

https://www.postgresql.org/docs/9.2/static/sql-altertable.html, 의 설명서를 읽었지만 이 작업을 보여 주는 예제는 찾지 못했습니다.

SQL Server 테이블에 열이 있는지 확인하기?( https://stackoverflow.com/questions/133031/how-to-check-if-a-column-exists-in-sql-server-table )도 찾았는데, 여기에 맞는 내용은 아닌 것 같습니다.

영어에서 번역원문 보기

이어지는 대화 2

서로의 근거를 따라
  1. 고유 링크

    지금 사용 중인 DROP COLUMN 문 안에 IF EXIST 구문을 추가해 주기만 하면 됩니다:

    ALTER TABLE targetTable DROP COLUMN
    IF EXISTS targetColumn;
    영어에서 번역원문 보기
  2. 고유 링크

    IF EXISTS 방식도 사용할 수 있고 마이그레이션을 할 때 잘 작동합니다

    DO $$
    BEGIN
      IF EXISTS (
        SELECT column_name
        FROM information_schema.columns
        WHERE table_name = targetTable AND column_name = targetColumn
      ) THEN
        ALTER TABLE targetTable DROP COLUMN targetColumn;
      END IF;
    END $$;
    영어에서 번역원문 보기

같은 질문의 다른 갈래

  1. SQL 파생 테이블을 거치면 사라지는 필드

    다음 SQL 문을 실행하고 있습니다: 이런 오류가 나옵니다: #1054 - Unknown column 'shipping.post_id' in 'on clause'. 꽤 단순한 코드 같은데 제대로 작동하게 만들지 못하겠습니다.…

    답글 2최근 활동 sql
  2. D 배열에서 일치하는 항목 찾기

    연관 배열에서는 이렇게 할 수 있어요 일반 배열에서는 어떻게 하나요? 예를 들면 이런 검증식을 쓰고 싶어요

    답글 2최근 활동 d
  3. Solc 0.7.0이 mapping 멤버를 가진 struct 생성을 거부해요

    npm으로 설치한 Solc version 0.7.0을 쓰고 있어요. 안에 mapping이 있는 Struct를 만들면 "Struct containing a (nested) mapping cannot be constructed.…

    답글 2최근 활동 solidity