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

Laravel Không thể xóa hoặc cập nhật hàng mẹ:ràng buộc khóa ngoại không thành công

Vâng, đó là giản đồ của bạn. Ràng buộc đối với likes.post_id sẽ ngăn bạn xóa bản ghi khỏi posts bảng.

Một giải pháp có thể là sử dụng onDelete('cascade') trong likes tệp di chuyển:

Schema::create('likes', function (Blueprint $table) {
    $table->integer('post_id')->unsigned();
    $table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');
});

Bằng cách này, khi một bài đăng bị xóa, tất cả các lượt thích có liên quan cũng sẽ bị xóa.

Hoặc, nếu bạn có mối quan hệ từ mô hình Bài đăng sang mô hình Thích, bạn có thể $post->likes()->delete() trước khi xóa chính bài đăng đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao DBI thay đổi ngầm định số nguyên thành chuỗi?

  2. MySQL:chỉ cập nhật một trường nếu điều kiện được đáp ứng

  3. Đang cố gắng TẢI THÔNG TIN DỮ LIỆU bằng REPLACE và AUTO_INCREMENT

  4. Mật khẩu root mysql homebrew của MacOSX

  5. Làm thế nào để lưu trữ một số 128 bit trong một cột duy nhất trong MySQL?