PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres:Добавете ограничение, ако все още не съществува

Възможно решение е просто да използвате DROP IF EXISTS, преди да създадете новото ограничение.

ALTER TABLE foo DROP CONSTRAINT IF EXISTS bar;
ALTER TABLE foo ADD CONSTRAINT bar ...;

Изглежда по-лесно, отколкото да се опитвате да потърсите information_schema или каталози, но може да е бавно на огромни таблици, тъй като винаги пресъздава ограничението.

Редактиране 2015-07-13:Кев посочи в отговора си, че моето решение създава кратък прозорец, когато ограничението не съществува и не се прилага. Въпреки че това е вярно, можете да избегнете такъв прозорец доста лесно, като обвиете и двата оператора в транзакция.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как работи make_timestamptz() в PostgreSQL

  2. [Видео] Въведение в типовете данни JSON в PostgreSQL

  3. Внедряване на превключване/обратно превключване в PostgreSQL 9.3.

  4. Как да изтеглите Postgres bytea колона като файл

  5. Инсталирайте Postgres.app на Mac