Problema:
Desea eliminar una clave externa de una tabla en una base de datos.
Ejemplo:
Queremos eliminar la clave externa llamada fk_student_city_id
de la tabla student
.
Solución 1 (nueva tabla):
ALTER TABLE student DROP CONSTRAINT fk_student_city_id;
Discusión:
Para eliminar una clave externa de una tabla, use ALTER TABLE
cláusula con el nombre de la tabla (en nuestro ejemplo, student
) seguido de la cláusula DROP CONSTRAINT
con el nombre de la restricción de clave externa. En nuestro ejemplo, el nombre de esta restricción es fk_student_city_id
.
Si la base de datos generó la restricción para la clave externa, puede encontrar este nombre en la base de datos. Sin embargo, cada servidor de base de datos tiene una forma diferente de nombrar las restricciones. En SQL Server, puede verificarlo seleccionando datos de sys.key_constraints
en la base de datos dada. En PostgreSQL, selecciona el conname
columna de pg_constraint
mesa. Oracle almacena estos datos en la tabla user_constraints y MySQL le permite obtener nombres de CONSTRAINT_NAME
columna en information_schema.TABLE_CONSTRAINTS
.