Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách xóa khỏi Bảng mà không cần phải xóa một ràng buộc

Vì khóa ngoại cho bảng PRODUCT của bạn, không chỉ định ON DELETE hành động, nó sẽ có hành vi mặc định là RESTRICT . Vì bạn không thể cập nhật ràng buộc này thành SET NULL , bạn có thể phải tự đặt chúng NULL.

Trước tiên, hãy thay đổi bảng để khóa ngoại SUPPLIER_NAME có thể chấp nhận giá trị NULL.

Sau đó, cập nhật SẢN PHẨM có nhà cung cấp ở Hoa Kỳ, đặt SUPPLIER_NAME của họ thành NULL. Một cái gì đó như thế này:

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

Và cuối cùng, bạn có thể xóa NHÀ CUNG CẤP với 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. Chọn giá trị tối thiểu cho mỗi mục trong MySQL

  2. Lỗi cú pháp WHILE trong MySQL

  3. Truy vấn MySQL để trả về các hàng bằng hoặc lớn hơn một ngày nhất định, trong đó ngày được phân tách trong các cột năm, tháng và ngày

  4. MySQL C ++ Connector nhận một chuỗi với truy vấn SELECT

  5. Cách thêm tổng số hàng trong MySQL