sql >> Databasteknik >  >> RDS >> Mysql

Hur man tar bort från en tabell utan att behöva släppa en begränsning

Eftersom den främmande nyckeln till din PRODUCT-tabell inte specificerar en ON DELETE action, kommer den att ha standardbeteendet som är RESTRICT . Eftersom du inte kan uppdatera denna begränsning till SET NULL , måste du antagligen sätta dem till NULL själv.

Ändra först tabellen så att den främmande nyckeln SUPPLIER_NAME kan acceptera NULL-värden.

Uppdatera sedan de PRODUKTER vars leverantör finns i USA, ställ in deras SUPPLIER_NAME på NULL. Något så här:

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

Och äntligen kan du radera LEVERANTÖRER med COUNTRY ='USA'.




  1. Hur uppdaterar man tabellen när vyn uppdateras?

  2. ORACLE 10g :To_date() Inte en giltig månad

  3. Pivotera, avpivotera och dela kolumner i Power BI Query Editor

  4. Varför infogar denna lagrade procedur NULL-värden i tabellen?