2016-08-11 13 views
-1

データベースに2つのレコードを同時に挿入しようとしています。 1つは主キーを使用し、もう1つは外部キーを使用します。データベース(MySQL)エラー

ALTER TABLE `notes` ADD CONSTRAINT `notes_author_fk` 
    FOREIGN KEY (`authorid`) REFERENCES `audiofeed`.`author`(`authorid`) ON DELETE NO ACTION ON UPDATE CASCADE; 

エラー文の点で:

$query1 = "INSERT INTO notes(notename,categoryname,file,authorname)"; 
$query1 .= "VALUES ('$Trackname','$category','$name','$author')"; 
+0

エラーが発生しているステートメントは実際には投稿していません。 – sstan

+0

挿入/更新/削除中にエラーが発生した場合は、FKが既に有効であり、データ変更を提案していることがルールに違反することを意味します。 FK。 – Drew

+0

'ALTER TABLE'を実行しようとするとエラーが発生した場合、あなたのデータがルールの準備ができていないことを意味します。 – Drew

答えて

0

Cannot add or update a child row: a foreign key constraint fails ....(database details). 

私は外部キーを作成するには、このクエリを使用している:私はこの実装しようとするしかし、私は次のエラーを取得します

実際に投稿したinsertステートメントの実行中にエラーが発生した場合は、authorid列の値を挿入していないことがわかります。これは列ですnには、外部キーが定義されています。

通常は、NULLを挿入するだけでOKです。これは外部キー制約に違反しません。

notesテーブル内のauthoridカラムにデフォルト値の指定がある場合、authorテーブルに見つからない無効なデフォルト値を挿入しようとしている可能性があります。

authoridの定義方法を確認し、必要に応じて調整することができます。

insertステートメントにauthoridの適切な値を設定してください。

+0

なぜ私の質問であなたの答えを削除するのかわかりません。編集が正しかった後。 –

+0

@元:ha。はい、私は基本的に答えがありましたが、食べに行く必要があり、それを考える時間がなかったので、私はそれを削除し、他の人に答えさせることを好みました。 – sstan

関連する問題