为了实现表USERS
的N:M关系(PK:user_id是自动增量INT)和REQUESTS
(PK:request_id是自动增量INT),我是创建了中间表USERS_GROUPS
(PK:两个FK US_userid,US_requestid,它与USERS
和REQUESTS
的PK一致。当用户创建新请求时,我必须在REQUESTS
内创建新记录。
INSERT INTO REQUESTS (...) VALUES (...);
与此同时,我想在USERS_GROUPS
内创建一条新记录,以便USERS_GROUPS
和USERS
加入REQUESTS
。我知道指向USERS
的第一个FK的值,但是我怎么能找到第二个FK的值指向我刚刚创建的记录?
换句话说,我想找到我刚刚创建的记录的字段request_id的值。这对我来说似乎有点混乱,我不知道如何实现它。
INSERT INTO USERS_GROUPS (US_userid,US_request_id) VALUES (...,?????);
这是我创建的第一个严肃的数据库模式,也是我必须管理的第一个n:m关系。我的观点是否正确?如果是的话,我非常感谢您对如何实现它的帮助。如果不是哪种方法是正确的?
答案 0 :(得分:2)
您可以使用last-insert-id检索新创建的ID。
用于连接数据库的库通常具有相应的功能,例如mysqli_insert_id或PDO::lastInsertId。
旁注:因为您正在对数据库执行多个(独立)查询,所以可能需要将它全部包装在事务中。