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

Mã lỗi MySQL 1452 Ràng buộc khóa ngoại

Bạn đã xác định ràng buộc khóa ngoại trên NameID tức là trong bảng PHONE sử dụng chèn cho bảng điện thoại, bạn đã chuyển mặc định cho NameID, nhưng NameID đang trỏ đến NAME bảng và mong đợi có id bản ghi được chèn từ NAME bảng nó không có giá trị mặc định theo tài liệu

Vì vậy, chèn thứ hai của bạn có thể sử dụng nếu được chèn từ NAME bảng như

INSERT INTO NAME (NameID, NAME) VALUES (DEFAULT, 'John Doe');
INSERT INTO PHONE (NameID, PhoneNumber, NumType) VALUES (LAST_INSERT_ID(), '706-782-4719', 'Home');

Và bạn có thể lấy kết quả từ cả hai bảng bằng cách kết hợp chúng

select * from NAME
JOIN PHONE 
USING (NameID)

Cách lấy ID duy nhất cho Hàng được chèn cuối cùng

Xem bản trình diễn fiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO MySQL:Chèn nhiều hàng trong một truy vấn

  2. Cách dừng truy vấn mysql đang chạy

  3. Cách bỏ qua các hàng trùng lặp khi chèn

  4. Mysql so khớp ... so với đơn giản như% term%

  5. Bảng thay đổi MySQL và chuyển đổi dữ liệu từ văn bản sang ngày giờ