QA@IT
«回答へ戻る

回答を投稿

問題があるのはSQLではなくテーブルの設定です。

テーブルAのフローIDに16があるとエラーとなるようですから、
テーブルAのフローIDが外部キー、テーブルBのフローIDが親キーという外部キー制約が設定されているのではないでしょうか。
(その状態だと「フローID 16」の親(テーブルBのデータ)が複数いることになるのでエラーとなる。)

テーブルAにフローID 16の行があっても、テーブルBのフローID 16の行が1行しかなければエラーは発生しないと思います。

外部キーの構成が正しいか見直すといいでしょう。
キー指定がただしいのであればテーブルBのフローIDはユニーク制約を設定するなどしましょう。

問題があるのはSQLではなくテーブルの設定です。

テーブルAのフローIDに16があるとエラーとなるようですから、
テーブルAのフローIDが外部キー、テーブルBのフローIDが親キーという外部キー制約が設定されているのではないでしょうか。
(その状態だと「フローID 16」の親(テーブルBのデータ)が複数いることになるのでエラーとなる。)

テーブルAにフローID 16の行があっても、テーブルBのフローID 16の行が1行しかなければエラーは発生しないと思います。

外部キーの構成が正しいか見直すといいでしょう。
キー指定がただしいのであればテーブルBのフローIDはユニーク制約を設定するなどしましょう。