mysql插入一条数据之后(ID为自动增长列),返回该条数据的ID

mysql插入一条数据之后(ID为自动增长列),返回该条数据的ID,第1张

使用下面的查询语句可以返回你需要的ID:

SELECT LAST_INSERT_ID()

说明,即使是在并行的时候,多个程序都在插入,仍然能获得自己的ID,因为每个连接的会话号是不同的。

可以直接返回这个数到程序里面处理,也可以直接作为插入关联表的字段值,例如:

INSERT INTO user(name) VALUES ('xxx')//有自动生成UID

INSERT INTO user_birth(uid,birth) VALUES(LAST_INSERT_ID(), '1972-9-18')//向生日表插入刚才新用户的生日

你直接执行这么多条插入语句,那么这个函数是只能返回一个值,不过如果你换一个思路就可以了。

你可以把四个sql拆开,用for或者foreach循环插入数据库,那么每一次返回的id就是你想要的结果了。

参考例子:

$arr = array(array('10','1','张三'),array('11','1','李四'));

$arr_id = array()

foreach($arr as $k=>$v)

{

$sql = 'insert into 表名('年龄','性别','姓名') values('$v[0]','$v[1]','$v[2]')'

mysql_query($sql)

$arr_id[] = msyql_insert_id()//将每次返回的id保存进数组

}

大致是这样的想法,代码不保证对,只是思路。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11635414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存