Проблем:
Искате да премахнете външен ключ от таблица в база данни.
Пример:
Искаме да премахнем външния ключ с име fk_student_city_id
от таблицата student
.
Решение 1 (нова таблица):
ALTER TABLE student DROP CONSTRAINT fk_student_city_id;
Дискусия:
За да премахнете външен ключ от таблица, използвайте ALTER TABLE
клауза с името на таблицата (в нашия пример student
), последвано от клаузата DROP CONSTRAINT
с името на ограничението за външния ключ. В нашия пример името на това ограничение е fk_student_city_id
.
Ако ограничението за външния ключ е генерирано от базата данни, можете да намерите това име в базата данни. Въпреки това, всеки сървър на база данни има различен начин за именуване на ограничения. В SQL Server можете да го проверите, като изберете данни от sys.key_constraints
в дадената база данни. В PostgreSQL избирате conname
колона от pg_constraint
маса. Oracle съхранява тези данни в таблицата user_constraints, а MySQL ви позволява да получавате имена от CONSTRAINT_NAME
колона в information_schema.TABLE_CONSTRAINTS
.