最近项目中出现了个问题 解决后感觉有必要记录一下。背景是这样的:我是负责后台的,前台是安卓和IOS,目前有个功能,类似于发表说说。那么问题来了,大家都用过手机,知道发过说说后自己的说说会显示在最上方,从后台 程序员的逻辑出发,我们能够想到的是 单一的往数据库中进行一个insert操作。非也,前台需要的是刚刚插入的那条信息。也就说人家不要一个提示说什么成没成功,人家要的是刚加入的信息。但是问题卡在,我们是Insert的,并不知道他的ID,别跟我说什么再select一遍,一个参数没有select毛线。那么问题就转变为了如何才能得到他的ID,上网一看说什么的都有,甚至还有自己写触发器的,我个人不是排斥这种结果,不过涉及到往数据库中加触发器的话,必然牵扯到多线程问题,所以此举不可取。后来发现,mysql数据库提供了一个方法,叫做
last_insert_id()。此方法用来获取最后执行insert方法所生成的ID,并且如果此方法放在链接数据库层的话(既放在ThreadLocal副本里),无需担心线程问题,真的很不错。
不使用框架的情况下 如何得到刚插入的数据(ID自增)
最新推荐文章于 2022-01-02 11:04:15 发布