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áusulaADD 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.