Clave principal de caída de PostgreSQL
Este artículo analiza el uso de la consulta ALTER TABLE
para eliminar la restricción de clave principal en PostgreSQL.
Soltar clave principal en PostgreSQL
Tiene una tabla y desea eliminar el campo clave principal
. Observe la siguiente tabla del empleado.
Usando \d table_name
, podemos ver el nombre y el tipo de campo de cada columna.
postgres=# \d record
Table "public.record"
Column | Type | Collation | Nullable | Default
----------+-----------------------+-----------+----------+---------
id | integer | | not null |
username | character varying(50) | | |
email | character varying(50) | | |
gender | character varying(50) | | |
company | character varying(50) | | |
Indexes:
"record_pkey" PRIMARY KEY, btree (id)
El fragmento de código muestra que id
es la clave principal y la restricción es record_pkey
. Ahora dejemos caer la columna clave principal
.
La sintaxis de eliminar una clave primaria existente.
ALTER TABLE table_name DROP CONSTRAINT primary_key_constraint;
Aquí tenemos una tabla llamada registro
. Para eliminar el id
de la tabla de registros, la consulta será:
ALTER TABLE record
DROP CONSTRAINT record_pkey;
postgres=# ALTER TABLE record
postgres-# DROP CONSTRAINT record_pkey;
ALTER TABLE
Ahora, veamos la descripción de la tabla. No deberíamos ver la línea.
"record_pkey" PRIMARY KEY, btree (id)
La columna ID
seguirá estando en la tabla porque estamos eliminando la restricción de clave principal, no la columna completa. No se tratará como una clave principal.
Escriba \d registros
, y ahora debería obtener el siguiente resultado.
postgres=# \d record;
Table "public.record"
Column | Type | Collation | Nullable | Default
----------+-----------------------+-----------+----------+---------
id | integer | | not null |
username | character varying(50) | | |
email | character varying(50) | | |
gender | character varying(50) | | |
company | character varying(50) | | |
postgres=#
Hay muchas consultas ALTER TABLE
; puede consultar la documentación oficial. Además, puede editar la columna clave principal
, lo que significa que puede cambiar la clave principal.