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

Jak usunąć z tabeli bez konieczności usuwania ograniczenia?

Ponieważ klucz obcy do Twojej tabeli PRODUCT nie określa ON DELETE akcja, będzie miała domyślne zachowanie, czyli RESTRICT . Ponieważ nie możesz zaktualizować tego ograniczenia do SET NULL , prawdopodobnie musiałbyś sam ustawić je na NULL.

Najpierw zmień tabelę, aby klucz obcy SUPPLIER_NAME mógł akceptować wartości NULL.

Następnie zaktualizuj PRODUKTY, których dostawca znajduje się w USA, ustaw ich SUPPLIER_NAME na NULL. Coś takiego:

update PRODUCT set SUPPLIER_NAME = NULL where SUPPLIER_NAME IN (
select SUPPLIER_NAME from SUPPLIER where COUNTRY = 'USA');

I wreszcie możesz usunąć DOSTAWCÓW z COUNTRY ='USA'.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utwórz obiekt Date w PHP dla dat sprzed 1970 r. w określonym formacie

  2. C# połącz się z mysql przez kontrolę użytkownika

  3. Suma PHP MYSQL SUMA, ale pokaż wiersze

  4. Zaokrąglanie daty i godziny MYSQL do najwcześniejszego 15-minutowego interwału w milisekundach (PHP)

  5. Jak w złączeniu poprzedzić wszystkie nazwy kolumn tabelą, z której pochodzi?