在插入时获取和使用唯一ID

时间:2012-03-29 16:20:13

标签: mysql sql

我正在研究遗留系统,该系统根据数据库中订单记录的ID生成确认号。它只是一堆零附加到行ID的前面,它是使用自动增量自动创建的。目前,系统正在将订单插入数据库,然后立即进行更新以添加确认号(在以编程方式获取插入ID之后)。

如果可能的话,我希望通过在下订单时添加确认号来减少第二步。但是,我不知道如何通过SQL完成此操作,或者是否可以完成。这可能吗?如果是这样,怎么样?我用谷歌搜索了这个,但我得到的结果告诉我如何在查询运行后获取最后一个插入ID。

1 个答案:

答案 0 :(得分:3)

您可以编写一个trigger来执行插入订单的位置。

样品:

CREATE TRIGGER order_zeros BEFORE INSERT ON orders
for each row
begin
  SET NEW.confirmation = LPAD( NEW.id, 8, '0' );
end;

免责声明:此代码未经过测试,仅用于解释解决方案。