完成插入后,自动增量值由数据库本身生成;这意味着您无法在执行实际的插入查询之前获得它。
您提出的解决方案不是经常使用的解决方案,而是:
- 插入一些半空数据
- 获取已生成的自动增量值
- 使用该自动增量值进行计算
- 更新该行以放置新的/完整的数据-使用查询
where
子句中前面生成的自动增量update
,以标识要更新的行。
当然,为了安全起见,所有这些操作都必须在事务中进行 (以确保“全有或全无”行为)
作为伪代码:
begin transactioninsert into your table (half empty values);$id = get last autoincrement iddo calculationsupdate set data = full data where id = $idcommit transaction



