【发布时间】:2015-06-09 07:28:58
【问题描述】:
我正在使用
插入一行String sql="insert into OCS_TBL_DOCTOR values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1, doctor.getDoctorID());
ps.setString(2, doctor.getDoctorName());
ps.setString(3, doctor.getDateOfBirth());
ps.setString(4, doctor.getDateOfJoining());
ps.setString(5, doctor.getGender());
ps.setString(6, doctor.getQualification());
ps.setString(7, doctor.getSpecialization());
ps.setInt(8, doctor.getYearsOfExperience());
ps.setString(9, doctor.getStreet());
ps.setString(10, doctor.getLocation());
ps.setString(11, doctor.getCity());
ps.setString(12, doctor.getState());
ps.setString(13, doctor.getPincode());
ps.setString(14, doctor.getContactNo());
ps.setString(15, doctor.getEmaiID());
ResultSet rs = ps.executeQuery();
我想知道如何获得我刚刚插入的最后一个条目。这里 DoctorID 是主键。
【问题讨论】:
-
在
id上选择等于doctor.getDoctorId?.. -
重新选择记录?
-
既然您明确设置了PK,那么您已经知道它的价值!另一方面(与您显示的代码相反),如果您没有为
DoctorID设置显式值,并且它恰好是具有AUTO_INCREMENT属性的整数列,您可以从 Java 中获取“最后插入 id”——参见 stackoverflow.com/a/1915197/623041。 -
我正在为 DoctorID 使用 AUTO_INCREMENT。我通过查询发送的是空值,因此每当数据库执行查询时,都会遇到空值,并且会自动配置 DoctorID。