将自动增量值复制到插入的另一列?

时间:2012-11-26 10:56:41

标签: mysql insert auto-increment

基本上我有一个版本产品的表,

所以它有两列感兴趣,id | product_id

idautoincrement列,
product_id只是int

首次创建产品时,product_id来自id, 编辑产品时,我们会复制该行,因此product_id是相同的,但ID不同。所以当我们第一次创建产品时,我们会做两个查询,

插入,然后update table whatever set product_id = id where id = {the insert id}

这有效,但我想知道是否有办法在一个查询中执行此操作?

注意我们只能访问插入,更新,删除。没有触发器或存储过程。

2 个答案:

答案 0 :(得分:2)

使用LAST_INSERT_ID()功能:

update table whatever set
product_id = id
where id = last_insert_id()

答案 1 :(得分:0)

这是单一查询:

insert into whatever 
set product_id = last_insert_id() + 1;