次のように MySQL データベースにデータを追加する必要があります。
Person:
pId, nameId, titleId, age
Name:
nameId, name
Title:
titleId, title
データベースに名前やタイトルを複数回入れたくないので、解決策がわかりませんでしたLAST_INSERT_ID()
私のアプローチは次のようになります。
INSERT IGNORE INTO Name(name) VALUES ("Peter");
INSERT IGNORE INTO Title(title) VALUES ("Astronaut");
INSERT INTO Person(nameId, titleId, age) VALUES ((SELECT nameId FROM Name WHERE name = "Peter"), (SELECT nameId FROM Name WHERE name = "Astronaut"), 33);
しかし、それはかなり汚いアプローチだと思います!? 可能であれば、1 つのクエリで複数の人を追加し、db に複数回追加する必要はありません。これは良い方法で可能ですか?ありがとう!