Cómo realizar la COLUMNA Postgres ADD SI NO EXISTE

Introducción

En PostgreSQL, la instrucción ALTER TABLE se puede usar para agregar, eliminar o modificar su tabla. Si desea agregar una columna a una tabla, simplemente especifique la cláusula ADD COLUMN en la instrucción ALTER TABLE. Sin embargo, encontrará un error si intenta agregar una columna que ya existe. Es fácil evitar este error utilizando la opción IF NOT EXISTS con la cláusula ADD COLUMN. Esta opción indica a PostgreSQL que agregue la nueva columna solo si el nombre de la columna no existe en la tabla. En este artículo, echaremos un vistazo más de cerca al comando Postgres ADD COLUMN IF NOT EXISTS y echaremos un vistazo a algunos ejemplos de su uso.

Requisitos previos

Para aprovechar al máximo este tutorial, deberá asegurarse de que haya un par de requisitos previos:

  • PostgreSQL debe estar instalado en su computadora para que pueda probar nuestros ejemplos del comando Postgres ADD COLUMN IF NOT EXISTS.
  • Debe tener algunos conocimientos básicos de PostgreSQL para seguir las instrucciones proporcionadas en este artículo.

La sintaxis de Postgres SI NO EXISTE

Comenzaremos con un vistazo rápido a la sintaxis de la opción IF NOT EXISTS en una instrucción ALTER TABLE :

1
2
ALTER TABLE NOMBRE_TABLA
AGREGAR COLUMNA SI NO EXISTE column_name

Vamos a discutir esta sintaxis en un poco más de detalle:

  • en Primer lugar, especificamos el nombre de la tabla a la que queremos añadir una columna.
  • Proporcionamos la opción IF NOT EXISTS después de la cláusula ADD COLUMN, y luego especificamos el nombre de la columna y su tipo de datos.

La opciónIF NOT EXISTS comprobará si el nombre de columna especificado existe en la tabla. Con esta opción en su lugar, no se devolverá ningún error si intenta agregar una columna que ya existe.

Postgres SI NO EXISTE ejemplo

Antes de continuar, vamos a crear una tabla de ejemplo para utilizar en nuestros ejemplos:

1
2
3
4
5
CREATE TABLE empleados(
id SERIAL PRIMARY KEY,
nombre VARCHAR(50),
POSICIÓN VARCHAR(50)
);

La tabla de nombre employees ya está creado.

Agregar columna

Ahora, intentemos agregar una nueva columna a nuestra tabla con el mismo nombre de columna que una columna existente. Utilizaremos la siguiente ALTER TABLE instrucción:

1
2
ALTER TABLE empleados ADD nombre de la COLUMNA de tipo VARCHAR(50);
ERROR: La COLUMNA «nombre» DE la relación «empleados» ya EXISTE

Esta declaración, se devolverá un error, ya que la columna «nombre» en el employees tabla ya existe. Para evitar este error, podemos usar la opción IF NOT EXISTS. Veamos cómo se ve nuestra declaración con esta opción en su lugar:

1
2
3
ALTER TABLE empleados ADD COLUMN SI NO EXISTE el nombre VARCHAR(50);
AVISO: La COLUMNA «nombre» DE la relación «empleados» ya EXISTE, saltar
ALTER TABLE

NOTA: La declaración anterior no ha devuelto un error, pero no llegó a mostrar un mensaje de alerta de que una columna con el mismo nombre ya existe.

¿Qué cree que sucederá si intenta agregar una columna con el mismo nombre de una columna existente pero con un tipo de datos diferente? Vamos a probarlo y ver:

1
2
3
ALTER TABLE empleados ADD COLUMN SI NO EXISTE el nombre de TEXTO;
AVISO: La COLUMNA » nombre «DE LA relación» empleados»ya EXISTE, omitiendo
ALTER TABLE

La columna todavía no se agregará porque ya existe una columna con el mismo nombre.

Conclusión

Cuando necesita hacer un cambio en una de sus tablas de PostgreSQL, es fácil agregar, eliminar o cambiar el nombre de una columna usando la instrucción ALTER TABLE; sin embargo, puede ocurrir un error si intenta agregar una columna que ya existe. Para evitar posibles errores, puede usar la opción IF ALREADY EXISTS después de la cláusula ADD COLUMN en su instrucción ALTER TABLE. En este artículo, discutimos la declaración Postgres ADD COLUMN IF ALREADY EXISTS y revisamos algunos ejemplos de cómo usarla. Con nuestros ejemplos e instrucciones paso a paso, podrá agregar columnas a una tabla sin encontrar errores en su propia base de datos PostgreSQL.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *