Diga que eu tenho uma restrição
ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5);
que precisa ser modificado para que o comprimento do CEP seja 6
.
Eu tenho que largar a restrição zipchk
primeiro e depois recriá-la?
ALTER TABLE distributors DROP CONSTRAINT zipchk;
ALTER TABLE distributors ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 6);
ou existe um MODIFY
comando (like):
ALTER TABLE distributors MODIFY CONSTRAINT zipchk CHECK (char_length(zipcode) = 6);
Resumindo os comentários:
Como @ypercube sugeriu , você pode fazer isso em um único comando, o que é mais barato e seguro:
ALTER CONSTRAINT
no Postgres 9.4 ou posterior (como você encontrou) só pode alterar a "diferibilidade" de uma restrição FK. Então não é o que você está procurando. Fora isso, não háMODIFY
comando " " para restrições (referindo-se ao MySQL,MODIFY
suponho).Detalhes no manual para
ALTER TABLE
, como @a_horse mencionado.