2016-11-14 5 views
2

JDBCを使用してcsvファイルからmysqlデータベースにデータを入力する際に​​問題が発生します。私はすでに「詩人」と呼ばれるテーブルを挿入しています。「PoetName」は司祭の鍵です。外部キーの問題MySQL

私はCSVファイルで保持しているレコードでそのテーブルを作成した後、「Poem」と呼ばれる別のテーブルを作成し、試したときには常にPoetテーブルを参照する「PoetName」という外部キーを含んでいます

をので、これは奇妙です:私は、次のエラー -

に表示されています一致する値が「外部キー制約が失敗した子行を追加または更新することはできません」が含まれている詩のためのCSVファイルを使用してテーブルを読み込みますプライマリキー 'PoetName'の値は、私が外部キーに使用した値と同じです。

誰かが問題の原因を考えている人はいますか?

おかげ

+0

おそらく、詩人の名前に余分なスペースがあります。おそらく、外部キーとして数値IDフィールドを使用するほうがよいでしょう。 – Barmar

+0

問題を示すsqlfiddleを作成できますか? – Barmar

+0

文字エンコーディングの問題をチェックします。どちらが失敗し、両方のソースから比較されているかを確認する –

答えて

0

あなたは、このエラーに実行している場合、1つの迅速な回避策は、スクリプトに次の行を追加することです:

SET FOREIGN_KEY_CHECKS = 0; 

別のノートでは、あなたの主キーがタイプされることを望むなら、一般的ですINT。