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

Tìm ra hàng nào không thành công khi thêm một ràng buộc trong MySQL

Trước tiên, hãy kiểm tra xem bảng Danh mục có tồn tại nơi bạn đang cố gắng nhập dữ liệu này hay không.

nếu bảng Category tồn tại thì cần kiểm tra xem tất cả category_id trong bảng này phải tồn tại trong bảng Category dưới dạng id.

Tùy chọn tốt hơn là nhập bảng danh mục đầu tiên và sau đó nhập bảng này.

Trong dữ liệu chung, trước hết, tất cả dữ liệu của bảng cha phải nhập vào bảng con.

Một cách bẩn thỉu như dưới đây là cách không được khuyến khích-

set foreign_key_checks=0;
import data here;
set foreign_key_checks=1;

Chỉ để biết hàng nào đang tạo ra sự cố-

Truy vấn bên dưới sẽ cung cấp cho bạn các hàng có vấn đề.

SELECT a.category_id FROM Category_Term a 
  LEFT JOIN Category b ON a.category_id=b.id 
  WHERE b.id IS NULL;

Lưu ý:Giả sử category_id trong category_term và id trong các bảng danh mục sẽ được lập chỉ mục.



  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 Trùng lặp và loại bỏ hàng trùng lặp với ít dữ liệu nhất

  2. Đánh dấu số trang hiện tại Phân trang PHP

  3. playframework 2.0 - đã vượt quá max_user_connections về diễn biến cơ sở dữ liệu?

  4. Cách gọi một Thủ tục được lưu trữ từ Hibernate có cả tham số IN và OUT

  5. MYSQL:Cách chuyển đổi một chuỗi thành một tháng (Số)