当mysql表有唯一索引时为什么jooq没有返回?

时间:2015-06-19 15:53:53

标签: mysql jooq

Mysql表就像

CREATE TABLE `User` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `telphone` varchar(32) NOT NULL,
  `name` varchar(64) NOT NULL DEFAULT '',
  `password` varchar(64) NOT NULL DEFAULT '',
  `balance` int(11) NOT NULL DEFAULT '0',
  `user_type` int(2) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `phone_index` (`telphone`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;

我写的代码是:

@Service
public class CommonDao {
    @Resource
    private DSLContext jooqContext;

    public <R extends Record> R insertAndGet(Table<R> table, R r, Field<?>... f) {
        return jooqContext.insertInto(table).set(r).returning(f).fetchOne();
    }
}

当我使用insert和get时,它总是返回null,并且数据实际插入到数据库中。 但是当我删除mysql中的唯一键时,它工作正常。

0 个答案:

没有答案