使用 JDBC 3 驱动程序,可以将一条记录插入到表中,并立即获取列的自动生成值。此技术用于 ActiveJDBC。
这是表定义:
CREATE TABLE users (id int(11) NOT NULL auto_increment PRIMARY KEY, first_name VARCHAR(56), last_name VARCHAR(56), email VARCHAR(56)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
这在 H2 和 PostgreSQL 上运行良好,返回值的类型是整数。但是,在 MySQL 中,类型是 Long,而我认为它应该是 Integer。在 Mysql 中查询同一行时,“id”返回为 Integer。
任何人都知道为什么“getGeneratedKeys()”在 Mysql 中返回 java.lang.Long 以及如何修复它?