如何从父表中获取生成的id并插入子表

时间:2018-05-28 02:04:46

标签: java oracle

<input type="file">

运行之后,我收到此错误消息:失败:发生了异常! java.sql.SQLRecoverableException:内部错误

代码有问题吗?谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

对于Oracle,您对getGenereatedKeys()的使用实际上看起来是正确的,但问题实际上是您的第一个插入语句。您有5列的占位符(和列名称),但您只绑定4个值。尝试这样的事情:

String sql = "insert into accommodation (type, name, price, description, username) ";
sql += "VALUES (?, ?, ?, ?, ?)";
String generatedColumns[] = { "ID" };
psParent = currentCon.prepareStatement(sql, generatedColumns);
psParent.setString(1, type);
psParent.setString(2, name);
psParent.setFloat(3, price);
psParent.setString(4, description);   // I ADDED THIS LINE
psParent.setString(5, username);
psParent.executeUpdate();

我假设你有一个包含要插入的描述的变量。如果没有,则完全从预准备语句中删除description及其占位符,或者只插入null。