Lý do tại sao bạn nhận được ngoại lệ đó là vì bạn đang chèn một bản ghi trên bảng test_usershosts giá trị của userID không có trên bảng test_users . Giống với giá trị của hid cũng không có trên bảng test_hosts .
Bảng test_usershosts phụ thuộc vào các bảng:test_users và test_hosts . Vì vậy, hãy chắc chắn rằng khi chèn bản ghi trên bảng test_usershosts , các giá trị cho hid và userid đã tồn tại trên các bảng mẹ:test_users và test_hosts .
Hãy thử thực hiện truy vấn này và chắc chắn nó sẽ được chèn.
INSERT INTO test_usershosts (RID,userid,hid,Usr,Pass)
VALUES (NULL,1120,30,'user','pass');
Tôi thấy rằng AUTO_INCREMENT tùy chọn trên bảng:test_users và test_hosts , không cần thiết vì bạn đang cung cấp các giá trị trên mọi truy vấn mà bạn đang thực hiện trên hai bảng.