introdução
em PostgreSQL, a declaraçãoALTER TABLE
pode ser usada para adicionar, remover ou modificar a sua tabela. Se quiser adicionar uma coluna a uma tabela, basta indicar a cláusula ADD COLUMN
na cláusula ALTER TABLE
. No entanto, você vai encontrar um erro se você tentar adicionar uma coluna que já existe. É fácil evitar este erro usando a opção IF NOT EXISTS
com a sua opção ADD COLUMN
. Esta opção instrui o PostgreSQL para adicionar a nova coluna apenas se o nome da coluna não existir na tabela. Neste artigo, vamos dar uma olhada mais de perto no Postgres Adicionar coluna se não existir comando e verificar alguns exemplos de seu uso.
pré-requisitos
para tirar o máximo partido deste tutorial, terá de se certificar de que existem alguns pré-requisitos:
- PostgreSQL tem de ser instalado no seu computador para que possa testar os nossos exemplos do comando Postgres ADD COLUMN se não existir.
- você deve ter algum conhecimento básico de PostgreSQL, a fim de seguir junto com as instruções fornecidas neste artigo.
the Postgres IF NOT EXISTS syntax
we’ll begin with a quick look at the syntax for the IF NOT EXISTS
option in an ALTER TABLE
statement:
1
2 |
ALTER TABLE TABLE_NAME
ADICIONAR COLUNA, SE NÃO EXISTE column_name |
Vamos discutir esta sintaxe um pouco mais detalhada:
- Primeiro, temos de especificar o nome da tabela à qual pretende adicionar uma coluna.
- Nós fornecemos a opção
IF NOT EXISTS
após a opçãoADD COLUMN
, e então nós especificamos o nome da coluna e seu tipo de dados.
a opção IF NOT EXISTS
irá verificar se o nome da coluna indicada existe na tabela. Com esta opção no lugar, nenhum erro será devolvido se você tentar adicionar uma coluna que já existe.
Postgres SE NÃO EXISTE exemplo
Antes de prosseguirmos, vamos criar uma tabela de exemplo para utilizar em nossos exemplos:
1
2 3 4 5 |
CREATE TABLE empregados(
id SERIAL PRIMARY KEY, nome VARCHAR(50), POSIÇÃO VARCHAR(50) ); |
a tabela com O nome employees
agora é criado.
Adicionar coluna
Agora, vamos tentar adicionar uma nova coluna à nossa tabela com o mesmo nome de coluna como uma coluna existente. Vamos utilizar o seguinte ALTER TABLE
declaração:
1
2 |
ALTER TABLE empregados ADICIONAR COLUNA nome VARCHAR(50);
ERRO: A COLUNA “nome” DE relação “funcionários” já EXISTE |
Esta instrução irá retornar um erro porque a coluna “nome” employees
tabela já existir. Para evitar este erro, podemos apenas usar a opção IF NOT EXISTS
. Vamos ver como nossa declaração se parece com esta opção no lugar:
1
2 3 |
ALTER TABLE empregados ADICIONAR COLUNA, SE NÃO EXISTE nome VARCHAR(50);
AVISO: A COLUNA “nome” DE relação “funcionários” já EXISTE, ignorando ALTER TABLE |
NOTA: A declaração acima não retornar um erro, mas ele fez exibir uma mensagem alertando-o de que uma coluna com o mesmo nome já existe.
o Que você acha que vai acontecer se você tentar adicionar uma coluna com o mesmo nome de uma coluna existente, mas um tipo de dados diferente? Vamos tentar e ver o que:
1
2 3 |
ALTER TABLE empregados ADICIONAR COLUNA, SE NÃO EXISTE nome do TEXTO;
AVISO: A COLUNA “nome” DE relação “funcionários” já EXISTE, ignorando ALTER TABLE |
A coluna ainda não vai ser adicionado porque uma coluna com o mesmo nome já existe.
conclusão
quando necessita de fazer uma alteração numa das suas tabelas PostgreSQL, é fácil adicionar, apagar ou mudar o nome de uma coluna usando o IDALTER TABLE
; contudo, poderá ocorrer um erro se tentar adicionar uma coluna que já exista. Para evitar quaisquer erros potenciais, pode utilizar a opção IF ALREADY EXISTS
após a opção ADD COLUMN
na sua cláusula ALTER TABLE
. Neste artigo, discutimos a coluna Postgres ADD se já existe uma declaração e revisamos alguns exemplos de como usá-la. Com nossos exemplos e instruções passo a passo, você será capaz de adicionar colunas a uma tabela sem encontrar erros em seu próprio banco de dados PostgreSQL.