Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在进行插入时获取和使用唯一ID_Mysql_Sql - Fatal编程技术网

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

Mysql 在进行插入时获取和使用唯一ID,mysql,sql,Mysql,Sql,我正在开发一个遗留系统,该系统根据数据库中订单记录的ID生成确认号。它只是一堆零附加到行ID的前面,行ID是使用自动增量自动创建的。当前,系统正在将订单插入数据库,然后立即执行更新以添加确认号(以编程方式获取插入ID后) 如果可能的话,我想通过在下订单时添加确认号来减少第二步。但是,我不知道如何通过SQL实现,或者是否可以实现。这可能吗?如果是,怎么做?我已经用谷歌搜索过了,但我只是得到了一些结果,告诉我如何在查询已经运行之后获取最后一个insert ID。您可以编写一个在插入订单的地方执行的命

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

如果可能的话,我想通过在下订单时添加确认号来减少第二步。但是,我不知道如何通过SQL实现,或者是否可以实现。这可能吗?如果是,怎么做?我已经用谷歌搜索过了,但我只是得到了一些结果,告诉我如何在查询已经运行之后获取最后一个insert ID。

您可以编写一个在插入订单的地方执行的命令

样本:

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

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

如果它只是AI id的零填充版本,则不应将其存储在表中,因为它是冗余数据。我同意。但有一个合理的机会,这将改变(如果我有我的方式),所以现在我离开它原封不动。这是我想,但希望我只是错过了一些简单的东西。我想不是。谢谢你的回答。