$ this-> MembersQuestionsAnswer-> saveMany($ data)を試してみます。
そして$dataはこれです:
array(
(int) 0 => array(
'member_id' => '4',
'questions_anwser_id' => '102'
),
(int) 1 => array(
'member_id' => '4',
'questions_anwser_id' => '203'
)
)
その後、エラーが発生しました
エラー:SQLSTATE [23000]:整合性制約違反:1452子行を追加または更新できません:外部キー制約が失敗します(
dating_sys
。members_questions_answers
、CONSTRAINTmembers_questions_answers_ibfk_2
FOREIGN KEY(questions_answer_id
)REFERENCESquestions_answers
(id
))SQLクエリ:INSERTINTO
dating_sys
。members_questions_answers
(member_id
、modified
)VALUES(4、 '2012-11-14 01:13:27')
データベースをチェックしました。102と203の両方がテーブルquestions_answersidフィールドに存在します。また、手動でテーブルに挿入することもできます。私がチェックしたように、外部キー制約は機能します。
そして、テーブルmembers_questions_answersテーブルDDLは
CREATE TABLE `members_questions_answers` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`member_id` int(10) unsigned NOT NULL,
`questions_answer_id` int(10) unsigned NOT NULL,
`modified` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `member_fk` (`member_id`) USING BTREE,
KEY `questions_answer_fk` (`questions_answer_id`) USING BTREE,
CONSTRAINT `members_questions_answers_ibfk_2` FOREIGN KEY (`questions_answer_id`) REFERENCES `questions_answers` (`id`),
CONSTRAINT `members_questions_answers_ibfk_1` FOREIGN KEY (`member_id`) REFERENCES `members` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
何らかの理由でquestions_answersテーブルが実際には識別されていないように感じます。このテーブルの名前とその外部キー参照を変更しました。キャッシュか何かありますか?
誰かが私を助けたり、新しい調査方法を教えてもらえますか?