このエラーが発生しました。ドロップダウン メニューから別のポケモン ID をタイプ ID に割り当てようとしています。ここに完全なエラーがあります
"sqlMessage: "子行を追加または更新できません: 外部キー制約が失敗しました ( user
. type_has_pokemon
, CONSTRAINT fk_type_has_pokemon_pokemon1
FOREIGN KEY ( pokemon_pokemonid
) REFERENCES pokemon
( id
) ON DELETE NO ACTION ON UPDATE NO ACTION)","
基本的に、私はポケモンテーブル、タイプを設定する type_has_pokemon、そしてタイプテーブルを持っています。ここに私の投稿ルートがあります
router.post('/', function(req, res){
var mysql = req.app.get('mysql');
var sql = "INSERT INTO type_has_pokemon (pokemon_pokemonid, type_typeid) VALUES (?,?)";
var inserts = [req.body.pokemon, req.body.type];
sql = mysql.pool.query(sql, inserts, function(error, results, fields){
if(error){
res.write(JSON.stringify(error));
res.end();
} else{
res.redirect('/typehaspokemon');
}
});
});
私の投稿フォームはこちら
<form id="addtypepokemon" action="/typehaspokemon" method="post">
Pokemon: <select name="pokemon">
{{#each pokemon}}
<option value="{{id}}">{{pokemonname}}</option>
{{/each}}
</select><br>
Type: <select name="type">
{{#each type}}
<option value="{{typeid}}">{{typename}}</option>
{{/each}}
</select><br>
<input type="submit" value="Submit">
</form>
</table>