使用PreparedStatement插入如何自动增加ID?

简介: 使用PreparedStatement插入如何自动增加ID?

如何解决使用PreparedStatement插入如何自动增加ID??
将该列 完全 放在INSERT语句之外。它将由数据库引擎生成。您的查询应为: __

INSERT INTO employee (time, name)
VALUES (?, ?)
其次,您必须先执行插入操作,然后再从结果中取出密钥。

我相信您的代码应为:

PreparedStatement preparedStatement =

connect.prepareStatement("INSERT into employee (time, name) VALUES (?,?)", 
Statement.RETURN_GENERATED_KEYS);

preparedStatement.setTimestamp(1,

new java.sql.Timestamp(new java.util.Date().getTime()));                           

preparedStatement.setString(2, "Test");
preparedStatement.executeUpdate();
ResultSet tableKeys = preparedStatement.getGeneratedKeys();
tableKeys.next();
int autoGeneratedID = tableKeys.getInt(1);
请注意,此示例不检查执行的语句是否成功或返回的键是否存在。

解决方法
我有一个PreparedStatement,例如:

PreparedStatement preparedStatement = connect.prepareStatement("INSERT into employee (id,time,name" + "(?,?,?)",Statement.RETURN_GENERATED_KEYS);
ResultSet tableKeys = preparedStatement.getGeneratedKeys();
preparedStatement.executeUpdate();
tableKeys.next();
int autoGeneratedID = tableKeys.getInt(1);
preparedStatement.setInt(1,autoGeneratedID);
preparedStatement.setTimestamp(2,new java.sql.Timestamp(new java.util.Date().getTime()));
preparedStatement.setString(3,"Test");
preparedStatement.executeUpdate();
如您所见,Employee表具有一个自动递增的ID。我基本上也需要使用prepareStatement自动添加它。有人可以告诉我我要去哪里哪里并纠正我吗?现在,这只是给我一个与Statement相关的错误。

声明:地推任务网所有作品(图片、文字)均由用户自行上传分享,仅供网友学习交流。

相关文章
|
关系型数据库 数据库 PostgreSQL
PostgreSQL 内存表可选项 - unlogged table
标签 PostgreSQL , 内存表 , unlogged table 背景 内存表,通常被用于不需要持久化,变更频繁,访问RT低的场景。 目前社区版本PostgreSQL没有内存表的功能,postgrespro提供了两个插件可以实现类似内存表的功能。
4533 0
|
编解码 Java Apache
Java中文乱码浅析及解决方案
Java中文乱码浅析及解决方案
745 0
|
XML 算法 Java
基于雪花算法解决Mybatis-Plus id主键生成的问题
基于雪花算法解决Mybatis-Plus id主键生成的问题
2194 0
|
7月前
|
人工智能 自然语言处理 搜索推荐
2026打工人必备偷懒工具:OpenClaw(Clawdbot)阿里云极速部署+5大高效AI工作流分享
在AI工具遍地的今天,很多人手里握着OpenClaw这样的“数字员工”,却只把它当普通搜索引擎使用,浪费了其强大的自动化能力。其实,OpenClaw的核心价值在于通过简单提示词搭建专属工作流,让AI替你处理开会准备、定期复盘、学习成长、副业创作等重复工作,让效率提升5倍以上。
1393 131
|
6月前
|
数据采集 Web App开发 人工智能
OpenClaw阿里云/本地部署喂饭级教程,接入Playwright解锁网页自动化操作
用过OpenClaw的用户都清楚,仅依赖基础功能的它就像“抓瞎的龙虾”——能理解指令却缺乏实际操作能力,尤其在自媒体运营、数据采集等场景中,无法突破平台限制完成自动发布、截图录屏等实操任务。而Playwright作为强大的自动化测试工具,恰好能填补这一空白:它支持跨浏览器网页操控、自动截图录屏、无限制数据采集,给OpenClaw装上“眼睛和手脚”,让AI从“只会说”升级为“能动手”。
3090 15
|
7月前
|
人工智能 应用服务中间件 网络安全
2026年阿里云部署OpenClaw(Clawdbot)流程,OpenClaw无缝接入个人微信攻略
在AI智能助手深度融入日常沟通的2026年,OpenClaw(曾用名Clawdbot、Moltbot)作为功能强大的开源AI框架,支持邮件管理、代码生成、信息查询等多元化任务。将其接入个人微信,能实现“随时随地发指令、AI助手秒响应”的便捷体验——无需打开专用客户端,通过微信即可调用OpenClaw的全部功能,无论是查询资讯、生成文档还是执行自动化任务,都能高效完成。
8320 1
|
7月前
|
人工智能 小程序 Serverless
2026年新手零基础部署OpenClaw(Clawdbot)接入微信小程序喂饭级教程
在AI自动化办公与轻量智能交互需求爆发的2026年,OpenClaw(原Clawdbot、曾用名Moltbot)凭借“自然语言驱动、自动化任务执行、多端集成”的核心优势,成为个人办公提效、中小企业轻量化智能运营的优选工具。作为GitHub星标量超19万的开源AI自动化代理平台,它能替代70%的重复性办公工作——从文档生成、日程提醒、网页抓取,到跨工具协同、简单代码生成,只需一句口语化指令,就能自动完成全流程操作。而微信小程序作为国民级轻量应用载体,无需下载、即点即用,将OpenClaw与微信小程序对接,能彻底打破设备限制,让用户通过微信就能随时随地下发指令、查看任务执行结果,真正实现“随时随地
4285 11