sql >> Databáze >  >> RDS >> Database

Jak odstranit omezení cizího klíče v SQL

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 .


  1. Hlášení podrobněji než obvykle – Microsoft Access

  2. PostgreSQL Column neexistuje, ale ve skutečnosti existuje

  3. Seznam parametrů NLS v databázi Oracle

  4. Kniha „PostgreSQL 9.0 High Performance“ je venku