3
我有一個MariaDB數據庫,我試圖在我的表users
中插入一行。它有一個生成的id
,我想在插入後得到它。我已經看到this但它不是爲我工作:INSERT..RETURNING在JOOQ中不工作
public Integer addNewUser(String name) {
Record record = context.insertInto(table("users"), field("name"))
.values(name)
.returning(field("id"))
.fetchOne();
return record.into(Integer.class);
}
插入新行,但record
總是null
。我沒有使用JOOQ代碼生成。
感謝您的回答。所以,我需要查詢最大值並添加1,對嗎?有沒有另一種方式來利用自動增量? –
@bigdestroyer:我不會查詢最大值,因爲這可能會導致競爭條件。我會再次通過名稱搜索用戶,因爲它可能是唯一的。或者,您使用jOOQ代碼生成器,以防此查詢將正確返回ID –
好主意。謝謝! –