এই এরর আসে যখন ফরেন কি কনস্ট্রেইন্ট লঙ্ঘন করে চাইল্ড টেবিলে ডেটা ইনসার্ট করার চেষ্টা করা হয়।
উদাহরণ
mysql> CREATE TABLE ForeignTable (id int, name varchar(200), Fk_pk int); mysql> CREATE TABLE PrimaryTable1 (Fk_pk int, DeptName varchar(200), PRIMARY KEY(Fk_pk)); mysql> ALTER TABLE ForeignTable ADD CONSTRAINT constFKPK FOREIGN KEY(Fk_pk) REFERENCES PrimaryTable1(Fk_pk);
এরর তৈরি
mysql> INSERT INTO ForeignTable VALUES(1,'John',1); ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (`business`.`foreigntable`, CONSTRAINT `constFKPK` FOREIGN KEY (`Fk_pk`) REFERENCES `primarytable1` (`fk_pk`))
কারণ: PrimaryTable1-এ Fk_pk=1 নেই।
সমাধান
mysql> INSERT INTO PrimaryTable1 VALUES(1,'ComputerScience'); Query OK, 1 row affected (0.14 sec) mysql> INSERT INTO ForeignTable VALUES(1,'John',1); Query OK, 1 row affected (0.13 sec)
নियम: পেরেন্ট টেবিলে ডেটা আগে ইনসার্ট করুন, তারপর চাইল্ড টেবিলে।