Làm cách nào để loại bỏ một mối quan hệ trong mysql?
Tóm lược. trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng MySQL _______0_______1 hành động tham chiếu cho khóa ngoại để xóa dữ liệu khỏi nhiều bảng có liên quan Show
Trong hướng dẫn trước, bạn đã học cách xóa dữ liệu khỏi nhiều bảng có liên quan bằng cách sử dụng một câu lệnh 2. Tuy nhiên, MySQL cung cấp một cách hiệu quả hơn được gọi là hành động tham chiếu 1 cho khóa ngoại cho phép bạn xóa dữ liệu khỏi bảng con một cách tự động khi bạn xóa dữ liệu khỏi bảng cha MySQL CREATE TABLE buildings ( building_no INT PRIMARY KEY AUTO_INCREMENT, building_name VARCHAR(255) NOT NULL, address VARCHAR(255) NOT NULL );Code language: SQL (Structured Query Language) (sql)1 ví dụHãy cùng xem một ví dụ về việc sử dụng MySQL 1 Giả sử rằng chúng ta có hai bảng. 6 và 7. Trong mô hình cơ sở dữ liệu này, mỗi tòa nhà có một hoặc nhiều phòng. Tuy nhiên, mỗi phòng thuộc về một tòa nhà duy nhất. Một căn phòng sẽ không tồn tại nếu không có một tòa nhà Mối quan hệ giữa các bảng 6 và 7 là quan hệ một-nhiều (1. N) như được minh họa trong sơ đồ cơ sở dữ liệu sau Khi bạn xóa một hàng khỏi bảng 6, bạn cũng muốn xóa tất cả các hàng trong bảng 7 tham chiếu đến hàng trong bảng 6. Ví dụ: khi bạn xóa một hàng có số tòa nhà. 2 trong bảng 6 như truy vấn sau
Bạn cũng muốn các hàng trong bảng 7 đề cập đến tòa nhà số 2 cũng sẽ bị xóa Sau đây là các bước minh họa cách hoạt động của tác vụ tham chiếu 1 Bước 1. Tạo bảng 6
Bước 2. Tạo bảng 7
Lưu ý rằng mệnh đề 1 ở cuối định nghĩa ràng buộc khóa ngoại Bước 3. Chèn các hàng vào bảng 6
Bước 4. Truy vấn dữ liệu từ bảng 6
Chúng ta có hai hàng trong bảng 6. Bước 5. Chèn các hàng vào bảng 7
Bước 6. Truy vấn dữ liệu từ bảng 7
Chúng tôi có ba phòng thuộc tòa nhà số 1 và hai phòng thuộc tòa nhà số 2. Bước 7. Xóa tòa nhà có số tòa nhà. 2
Bước 8. Truy vấn dữ liệu từ bảng 7
Như bạn có thể thấy, tất cả các hàng tham chiếu đến 5 2 đã tự động bị xóa. Lưu ý rằng 1 chỉ hoạt động với các bảng có công cụ lưu trữ hỗ trợ khóa ngoại e. g. , InnoDB Một số loại bảng không hỗ trợ khóa ngoại như MyISAM, vì vậy bạn nên chọn công cụ lưu trữ thích hợp cho các bảng mà bạn định sử dụng MySQL 1 hành động tham khảo Mẹo để tìm các bảng bị ảnh hưởng bởi MySQL CREATE TABLE buildings ( building_no INT PRIMARY KEY AUTO_INCREMENT, building_name VARCHAR(255) NOT NULL, address VARCHAR(255) NOT NULL );Code language: SQL (Structured Query Language) (sql)1 hành độngĐôi khi, rất hữu ích khi biết bảng nào bị ảnh hưởng bởi hành động tham chiếu 1 khi bạn xóa dữ liệu khỏi bảng. Bạn có thể truy vấn dữ liệu này từ 0 trong cơ sở dữ liệu 1 như sau
Ví dụ: để tìm các bảng được liên kết với bảng 6 bằng quy tắc xóa 3 trong cơ sở dữ liệu 4, bạn sử dụng truy vấn sau 0 Trong hướng dẫn này, bạn đã học cách sử dụng MySQL 1 hành động tham chiếu cho khóa ngoại để tự động xóa dữ liệu khỏi bảng con khi bạn xóa dữ liệu khỏi bảng cha. Làm cách nào để xóa một quan hệ trong MySQL?Nhấp chuột phải vào đường quan hệ giữa hai bảng rồi nhấp vào Xóa .
Làm cách nào để loại bỏ ràng buộc trong MySQL?Trong MySQL, không có DROP CONSTRAINT , thay vào đó bạn phải sử dụng DROP FOREIGN KEY . THAY ĐỔI BẢNG `table_name` DROP FOREIGN KEY `id_name_fk`; .
Lệnh drop trong MySQL là gì?Câu lệnh DROP TABLE cho phép xóa bảng khỏi cơ sở dữ liệu MySQL . Câu lệnh này xóa toàn bộ cấu trúc cũng như nội dung của bảng.
Làm cách nào để xóa khóa ngoại trong MySQL?Bỏ các ràng buộc khóa ngoại
. ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol; Nếu mệnh đề FOREIGN KEY đã xác định một tên Ràng buộc khi bạn tạo ràng buộc, bạn có thể tham khảo tên đó để bỏ . |