Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Usuń klucz obcy tylko, jeśli istnieje

Jeśli chcesz usunąć klucz obcy, jeśli istnieje i nie chcesz korzystać z procedur możesz to zrobić w ten sposób (dla MySQL) :

set @var=if((SELECT true FROM information_schema.TABLE_CONSTRAINTS WHERE
            CONSTRAINT_SCHEMA = DATABASE() AND
            TABLE_NAME        = 'table_name' AND
            CONSTRAINT_NAME   = 'fk_name' AND
            CONSTRAINT_TYPE   = 'FOREIGN KEY') = true,'ALTER TABLE table_name
            drop foreign key fk_name','select 1');

prepare stmt from @var;
execute stmt;
deallocate prepare stmt;

Jeśli klucz obcy jest kluczem obcym, w zmiennej umieszczamy instrukcję alter table, a jeśli jej nie ma, wstawiamy instrukcję fikcyjną. A potem go wykonujemy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaimplementować proste wyszukiwanie witryny za pomocą php i mySQL?

  2. Jak używać polecenia źródłowego MySQL do importowania dużych plików w systemie Windows?

  3. Błąd 1215:Nie można dodać ograniczenia klucza obcego

  4. Jak wyświetlić zawartość tabeli w GUI Mysql Workbench?

  5. Wskazówki dotyczące zapewniania wydajności bazy danych MySQL — część druga