当前使用版本(必须填写清楚,否则不予处理)

3.3.0

该问题是怎么引起的?(最新版上已修复的会直接close掉)

当id的类型设置为IdType.Auto时,insert一条记录,并且该记录中指定了id,但是最终插入数据库中的是数据库自动生成的,不是指定的。看了代码,发现当时Auto时,会忽略id这列。

我的需求是:既保证插入的记录没有id时,使用数据库自增,当指定id时,使用指定的id。不知道如何配置,还是说当前版本没法满足?

重现步骤

报错信息

Comment From: qmdx

auto 设置并且你数据库表需设置自增

Comment From: helloqhx

我数据库设置了自增,现在的问题是,当我指定id时,没有给我插入我的id

Comment From: helloqhx

怎么就关了呢?

Comment From: miemieYaho

自增不支持指定id时不自增

Comment From: helloqhx

我看了一下代码,如果我重写Insert的实现: 把id当作其他非key字段的话,使用 <if test="id != null">id,</if> <if test="id != null">#{id},</if> 这样做的话,不知道会不会有什么潜在的问题。 我测试了一下,我的需求是可以满足了。

Comment From: lehug

为什么指定id的时候,不按照指定的来呢?