当前位置: 首页 > 面试题库 >

JAVA with SQL:insert命令的返回值?

微生耘豪
2023-03-14
问题内容

我有一个作者表:authorID,authorName。authorID是具有自动增量的pk。

我想用Java编写一个方法,该方法从用户那里获取一个名称并将其添加到表中。但是我需要返回作者的ID。有没有办法用1条sql语句来做到这一点?

例如,如果我的代码具有以下命令:

stmt.executeUpdate("INSERT INTO authors " + "VALUES (, '"+ string.get(1) +"')");

其中string.get(1)是作者名称。

现在,如果我写:

ResultSet rs =stmt.executeUpdate("INSERT INTO authors " + "VALUES (, '"+ string.get(1) +"')");

它说错误,因为rs是结果集,但返回值是int。这是我插入的行的pk的int吗?


问题答案:

尝试

stmt.executeUpdate("INSERT INTO authors VALUES (, '"+ string.get(1) +"')", Statement.RETURN_GENERATED_KEYS);
ResultSet rs = stmt.getGeneratedKeys();
rs.next();
long pk = rs.getLong(1);


 类似资料:
  • 出于某种奇怪的原因..返回,而linux中的命令返回 星期日;星期一;星期二;星期三;星期四;星期五;星期六 任何帮助都将不胜感激,谢谢。

  • 问题内容: 我在file.txt中有以下数据: 我想将字符串替换为“-”之后的字符串,最多替换为“;” 只需加上“;”,就可以得到: 我尝试使用以下命令: 但这给了我以下错误: sed命令出现乱码 为什么会这样呢? 问题答案: 这应该工作:

  • 本文向大家介绍Windows Powershell 命令返回数组,包括了Windows Powershell 命令返回数组的使用技巧和注意事项,需要的朋友参考一下 当我们把一个命令的执行结果保存到一个变量中,可能会认为变量存放的是纯文本。 但是,事实上Powershell会把文本按每一行作为元素存为数组。如果一个命令的返回值不止一个结果时,Powershell也会自动把结果存储为数组。 使用数组存

  • 问题内容: 我正在开发一个使用IBM.Data.DB2.iSeries.dll连接到DB2 iSeries 7.1数据库的.NET应用程序。 我需要执行一个带有n个参数的SELECT命令,这些参数在查询中定义为,之后再设置参数值,但是当我运行代码时,我得到一个。我到处都在搜索文档/示例,但是我阅读的所有内容都与我使用的代码一致。我想念什么吗?如果这无效,最好的替代方法是什么? 这是我用来测试的隔离

  • 问题内容: 我正在使用docker并使用以下命令: 指向我的应用程序文件按角度编译的文件夹。 我首先转到文件夹,然后从那里运行命令。一切正常,我能够通过port:进入应用程序,但是在docker更新之后,我运行错误: docker:无效的参考格式。请参阅’docker run –help’。 我一直在搜索并检查以下发布的docker:无效的参考格式,但这似乎与我的问题不同。这是基于命令的信息 :

  • 我公开了一个。NET API,运行在IIS服务器上。有一个每晚执行的Windows计划任务。它运行一个cURL请求。当我复制该命令并在cmd窗口中执行它时,它返回401。 我在Postman中尝试了相同的api调用,得到了200。 IIS日志显示: cUrl命令和Postman实例都在服务器上运行。运行API的同一台。我是不是错过了邮递员做的事情,我需要让卷毛做的事情?