
这里面有个困难,就是插入主表记录后,如何获得它对应的id。
通常的做法,是通过“select max(id) from tablename”的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表加以“X锁“,待获得max(id)的值以后,再解锁。
首先要确定什么是最后一条。是编辑时间最新的为最后一条,还是某个字段数字最大的未最后一条。
比如以时间最大为最后一条,则将符合条件的资料都筛选出来,再按时间排序,再取一笔资料。
SQL如下:
select a,b from table where a>'某个时间' order by a desc limit 1
(上面SQL中a为时间)。
select top 1 * from [tableName] order by [排序字段] desc-------或
set rowcount 1
select * from [tableName] order by [排序字段] desc
sqlserver快速取返回结果的方法
上面举例了mssql的方法,参照一下,是否可以改写为mysql的
如有疑问,及时沟通!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)