Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да изтриете от таблица, без да се налага да премахвате ограничение

Като външен ключ към вашата таблица PRODUCT не указвайте ON DELETE действие, ще има поведението по подразбиране, което е RESTRICT . Тъй като не можете да актуализирате това ограничение до SET NULL , вероятно ще трябва сами да ги зададете NULL.

Първо, променете таблицата, така че външният ключ SUPPLIER_NAME да може да приема NULL стойности.

След това актуализирайте ПРОДУКТИТЕ, чийто доставчик е в САЩ, задайте тяхното SUPPLIER_NAME на NULL. Нещо подобно:

update PRODUCT set SUPPLIER_NAME = NULL where SUPPLIER_NAME IN (
select SUPPLIER_NAME from SUPPLIER where 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. не е чувствителна заявка в mysql

  2. Каква е най-добрата практика за ограничаване на конкретни страници до влезли потребители само в Codeigniter?

  3. Дублиране / копиране на записи в същата MySQL таблица

  4. Изчислете възрастта въз основа на датата на раждане

  5. Как да синхронизирате база данни SQLServer и база данни MySQL