0

假设我有这个 MYBATIS 声明:

<insert id="insertValue" resultType="car" > 
   BEGIN TRANSACTION
      INSERT INTO table1 ( somefield,... ) VALUES ( #{value},... ); 

      <selectKey keyProperty="carId" resultClass="int"> 
         SELECT @@IDENTITY as carId 
      </selectKey>

      UPDATE table2
      set fieldx = #{carId}
      where table2Id = 500;
   COMMIT
</insert>

我得到的 carId 值为 0,应该是刚刚添加到 table1 中的记录的关键

如何获取最近生成的 keyValue 以立即使用?

4

1 回答 1

0

我认为你想要做的是:

insert table1 ......
declare @var int
set @var= scope_identity()
update table2 set ... where id = @var
于 2011-11-21T18:16:49.493 回答