2011-07-06 21 views
0

これは私のデータベースです:MySQLエラー1452 - 追加または更新できません。

http://i.imgur.com/D1M4J.png

私はその周りのすべてのテーブルにデータを挿入した後、私のメインのリンクテーブルの手順にデータを挿入しようとしています。私は挿入されているデータをチェックして、それは大丈夫と思われる、私は同様に私の関係をチェックしている。

$proceduredata = array 
      (
       'patient_id' => $patientfk, 
       'name_id' => $procedurenamefk, 
       'department_id' => $departmentfk, 
       'dosage_id' => $dosagefk, 
       'edocument' => NULL, //not implemented yet 
       'user_id' => $this->session->userdata('userID'), 
       'duration' => NULL, //not implemented yet 
       'submitted' => date('d-m-Y H:i:s', now()), 
       'comment' => NULL, //to be implemented 

      ); 

      $insertprocedure = $this->db->insert('procedure', $proceduredata); //inserts into 'procedure' table with $proceduredata array 
      $procedurefk = $this->db->insert_id(); //gets the primary key of the row inserted 

エラーメッセージ:

データベースエラーが

エラー番号発生しました:1452

は、子行を追加または更新できません:外部キー制約が失敗する(midas1procedure。 、CONSTRAINT belongs to a FOREIGN KEY(department_id)参考文献departmentdepartment_id))

INSERT INTO procedurepatient_idname_iddepartment_iddosage_idedocumentuser_iddurationsubmittedcomment)VALUES(17、7、0、NULL、NULL、 '2'、NULL、'06 -07-2011 13時41' 分01秒、NULL)

ファイル名:C:\ XAMPP \ htdocsに\ MIDAS \システム\データベース\ DB_driver.php

行番号:330

あなたの時間をありがとう

答えて

0

$departmentfk0と思われますが、MySQLの制約に従ってdepartmentテーブルのIDである必要があります。 MySQLはdepartmentテーブルをチェックし、それに対応するIDが見つからないため、それは失敗します。

+0

ありがとう、私は10のIDを持っているので、私のフォームに何か間違っているように見えると0の代わりにIDを挿入する必要があります – Bob

+0

私は助けることができる喜んで。質問を「未回答」タブに表示しないように、回答をアップアップするか受け入れることを検討してください。 – Jacob

関連する問題