php - mysql 同时插入多条数据怎么获取这些id
PHPz
PHPz 2017-04-11 09:56:01
[PHP讨论组]

INSERT INTO t1 (id,name) VALUES (1,'name1' ),(2,'name2')...
mysql 同时插入多条数据,怎么获取这些数据的ID?
条数是随机的,数据值也是随机的

PHPz
PHPz

学习是最好的投资!

全部回复(5)
PHP中文网

已以往经验,有批量插入时,最好新增一个“批号”的字段,可以用时间戳,也可以用其他方式,然后查询新增批号。

巴扎黑

建议自己封装下,插入成功返回的时候,$this->db->getLastInsID()获取最后插入的ID,根据插入条数倒推其他的ID

怪我咯

按你这个sql看来,你的id是自己生成的么?如果自己生成的你可以先把数据生成的id存起来。如果是自增的,那就根据条数来推断。

巴扎黑

利用 PDO::lastInsertId 手册传送 可以获取最后一条插入的id,在插入之前您可以先获得现在最大的IDMax(),这样第一个ID和最后一个ID都拿到了。然后您的数组是有顺序的 这样给它们编号进去,这样您就知道了刚刚插入了哪些ID,当然坐等大佬指点更优秀的方法

ringa_lee

这个要看你的id是如何生成的,如果是数据库自增的话应该没有办法返回给你吧,如果是你自己定义的id的话你可以在插入成功之后自己维护这条id。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号