October 22, 2024
Chicago 12, Melborne City, USA
PHP

ERROR 1452: Cannot add or update a child row: a foreign key constraint fails


Note: I am trying to learn database. So I don’t know anything about this Foreign Keys.

Mass:

Field Type Null Key Default Extra
id int(11) NO PRI NULL auto_increment
name varchar(20) NO
mass_unique_id varchar(25) NO
created_at date NO current_time()

Mass_Conf:

Field Type Null Key Default Extra
mass_id int(11) NO FK
meal_conf NO NULL

Here is my code:

    public function createMass(){
        if(!LoginCheck::loginCheck()){
            return redirect("login");
        }
        $postData = $this->request->getPost();
        $meal = "";
        if(isset($postData["meal"])){
            foreach ($postData["meal"] as $m) { 
                $meal.=$m;
            }
            $meal = (int)$meal;
            
        }
        $rules = [
            "mass-name" => "required|max_length[40]"
        ];
        if($this->validate($rules)$this->isValidMeal($meal)){
            $massDB = new MassDB();
            $data = [
                'name' => $postData["mass-name"],
                'mass_unique_id'=> get_cookie('mass_unique_id'),
            ];
            $massId = $massDB->insert($data,true);
            if($massId!=null){
                $massConfDB = new MassConfDB();
                $data = [
                    'mass_id'=> $massId,
                    "meal_conf"=>$meal,
                ];
                $massConfDB->save($data);
                return redirect()->to("manager")->with("success", "New mass created successfully!");  
            }
            
        }else{
            $data = validation_errors();
            $data["meal[]"] = "At least one option must be selected";
        }
        
        return redirect()->to("member")->with("data_error",$data);

    }

And this is the error I’m getting

CodeIgniter\Database\Exceptions\DatabaseException #1452
Cannot add or update a child row: a foreign key constraint fails (`b_house`.`mass_config`, CONSTRAINT `fk_mass_config_mass` FOREIGN KEY (`mass_id`) REFERENCES `mass` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION) 



You need to sign in to view this answers

Leave feedback about this

  • Quality
  • Price
  • Service

PROS

+
Add Field

CONS

+
Add Field
Choose Image
Choose Video