繁体   English   中英

多个mysql_insert_id

[英]Multiple mysql_insert_id

我有3张桌子,像这样的结构,

员工> ID(PK),姓名

家庭> family_id(PK),id(员工PK)

父亲>父亲ID(PK),家庭ID(家庭PK),父亲名称

我知道我可以使用mysql_insert_id()LAST_INSERT_ID来获取最后插入的ID,我想获取ID并将其插入到每个表中,如下所示:

INSERT INTO employee VALUES('', '<value>')
//
//
INSERT INTO family VALUES('', '".mysql_insert_id()."')
// id from employee PK
//
INSERT INTO father VALUES('', '".mysql_insert_id()"', '')
// id from family PK

我做对了吗? 如果是,是否有更好的方法来做同样的事情?

谢谢。 :)

是的,这是正确的方法(考虑到有关mysql_ fns的警告)。 但是您在第二个和第三个示例中引用了一个整数值-这是一个坏主意。

这种方法的缺点是,即使没有服务器端对准备好的语句的解析(发送查询,检索结果,发送对插入ID的请求,检索插入ID X 3),也需要多次往返数据库,这可能是性能瓶颈。

如果是这种情况,则将其打包为Mysql函数,使该操作可以作为对DBMS的单个调用竞争(使用函数而不是过程,因为前者可以返回插入ID)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM