Problém:
Chcete vypustit cizí klíč z tabulky v databázi.
Příklad:
Chceme odstranit cizí klíč s názvem fk_student_city_id
z tabulky student
.
Řešení 1 (nová tabulka):
ALTER TABLE student DROP CONSTRAINT fk_student_city_id;
Diskuse:
Chcete-li z tabulky odstranit cizí klíč, použijte ALTER TABLE
klauzule s názvem tabulky (v našem příkladu student
) následovanou klauzulí DROP CONSTRAINT
s názvem omezení cizího klíče. V našem příkladu je název tohoto omezení fk_student_city_id
.
Pokud omezení pro cizí klíč vygenerovala databáze, můžete tento název najít v databázi. Každý databázový server má však jiný způsob pojmenování omezení. V SQL Server to můžete zkontrolovat výběrem dat z sys.key_constraints
v dané databázi. V PostgreSQL vyberete conname
ze sloupce pg_constraint
stůl. Oracle ukládá tato data do tabulky user_constraints a MySQL vám umožňuje získat jména z CONSTRAINT_NAME
sloupec v information_schema.TABLE_CONSTRAINTS
.