Ответ 1
Вам просто нужно добавить IF EXIST
в оператор DROP COLUMN
:
ALTER TABLE tableName
DROP COLUMN IF EXISTS columnName;
Я пытаюсь удалить столбец из таблицы.
Что может быть лучшей практикой, чтобы проверить, существует столбец или нет.
Я просмотрел документацию https://www.postgresql.org/docs/9.2/static/sql-altertable.html, но не нашел ни одного примера, как это сделать.
Даже нашел это в stackoverflow Как проверить, существует ли столбец в таблице SQL Server? , но это не так актуально
Вам просто нужно добавить IF EXIST
в оператор DROP COLUMN
:
ALTER TABLE tableName
DROP COLUMN IF EXISTS columnName;
Вы также можете попробовать метод IF EXISTS, который отлично работает, когда мы используем миграцию
DO $$
BEGIN
IF EXISTS(
SELECT column_name FROM information_schema.columns WHERE table_name = tableName AND column_name = columnName)
THEN
ALTER TABLE tableName DROP COLUMN columnName;
END IF;
END $$;