我需要像这样将数据添加到 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);
但我想这是一个相当肮脏的方法!?如果可能的话,我想通过一个查询添加多个人,并且在 db 中没有任何超过一次。这可能以一种很好的方式吗?谢谢!