java中如何使用这条语句last_insert_id()得到最后插入记录的ID值

问题描述

比如Stringsql="insertintomembervalues(?,?)";PreparedStatementpstmt=conn.getPstmt(sql);pstmt.setInt(1,0);pstmt.setString(2,username);intflag=pstmt.executeUpdate();id=last_insert_id()就是这一句如何写,我想得到插入记录的ID值,赋值给id

解决方案

解决方案二:
selecttop1idfrommemberoderbyiddesc
解决方案三:
不明白你的意思????
解决方案四:
你想得到最新插入的ID值吧?如果是这样可以先插入,然后马上再max(id)
解决方案五:
什么数据库?
解决方案六:
最好是自己管理主键,别用自动生成的序列值
解决方案七:
用存储过程
解决方案八:
插入做简单点就可用Insertinto...插入后要在获得的话可以用查询语句select....然后返回给一个结果集在根据你的需要来调用按你说的我就理解这么多了呵呵
解决方案九:
引用3楼anykcry的回复:

你想得到最新插入的ID值吧?如果是这样可以先插入,然后马上再max(id)

这样很容易锁表。好像有Insertinto...returning的语法,没用过。

时间: 2024-10-31 13:46:13

java中如何使用这条语句last_insert_id()得到最后插入记录的ID值的相关文章

LAST_INSERT_ID mysql_insert_id 获取插入记录自动编号

mysql教程 LAST_INSERT_ID() mysql_insert_id 获取insert数据的主键值自动编号 我们讲了关于mysql LAST_INSERT_ID() mysql_insert_id 获取insert数据的主键值自动编号那么来分析一下它们的区别吧  mysql_insert_id ()是直接获取当前session的insert_id,而LAST_INSERT_ID()是SQL函数,需要通过执行SQL来获得,如:SELECT LAST_INSERT_ID();显然这两个效

SSH2项目中 如何发一条语句访问多个sql2000数据库(表结构完全相同)

问题描述 产生背景:当要存贮的数据量非常大,单一的某种数据库不能满足数据量的要求,因此需要将数据分库存贮(数据表结构相同,但数据不同,数据不交叉),这种存贮方式,为程序的开发(提取数据,数据存贮)带来了不便,如果没有数据网关,则需要(1)程序去判断数据在哪里(2)程序进行跨库操作时,事务同步不好控制,数据网关的设计就是为了解决以上不便(1)应用程序只面对一个数据提供者,即数据网关,多数据源对应用程序时透明的,例如程序执行select*fromtab:数据网关会在各个数据库中执行select*fr

取得当前插入数据库中记录的id值

在PHP中,经常需要把插入数据库中的id值取出来,而正好有这么一个函数: <?php//执行插入数据库的语句//--$getID=mysql_insert_id();//$getID即为最后一条记录的ID ?> PHP 函数 mysql_insert_id() 是返回在最后一次执行了 INSERT 查询后,由 AUTO_INCREMENT 定义的字段的值.

Java中读取文件进度条的实现

实现功能描述: 当读取一个大文件时,一时半会儿无法看到读取结果,就需要显示一个进度条,是程序员明白已经读了多少文件,可以估算读取还需要多少时间. 实现这个功能比较简单,用到的类有两个:ProgressMonitorInputStream(主要是整个类) 和 ProgressMonitor ,它们在javax.swing中 大体思路,你要首先知道整个文件的大小,和当前已经读取文件的大小,获得整个文件大小的方法 ProgressMonitorInputStream monitor; /** * @p

详解Java中的指针、引用及对象的clone

对象|详解 Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念.并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象.本文会让你了解什么是影子clone与深度clone,认识它们的区别.优点及缺点.看到这个标题,是不是有点困惑:Java语言明确说明取消了指针,因为指针往往是在带来方便的同时也是导致代码不安全的根源,同时也会使程序的变得非常复杂难以理解,滥用指针写成的

全面了解Java中对于异常的捕捉方法_java

1. try-catch语句 在Java中,异常通过try-catch语句捕获.其一般语法形式为: try { // 可能会发生异常的程序代码 } catch (Type1 id1){ // 捕获并处置try抛出的异常类型Type1 } catch (Type2 id2){ //捕获并处置try抛出的异常类型Type2 } 关键词try后的一对大括号将一块可能发生异常的代码包起来,称为监控区域.Java方法在运行过程中出现异常,则创建异常对象.将异常抛出监控区域之 外,由Java运行时系统试图寻

Java中异常处理方法总结

异常(Exception):指程序运行过程中出现的非正常现象. 1.  Java异常的异常处理机制 早期的情况: 早期使用的程序设计语言是没有提供专门进行异常处理功能的,程序设计人员只能苦逼的使用条件语句对各种可能设想到的错误情况进行判断,来捕捉特定的异常,然后进行相应的处理.这样的处理方式,往往要整出大段大段的if-else语句.本来需要完成相应功能的代码块很小,但是加上这样针对异常处理的条件语句使得代码显得非常臃肿,这样一来代码的可读性和可维护性就下降了,而且有时候还会遗漏意想不到的异常情况

java中的自增问题介绍_java

运行下面这段代码,其结果是什么呢? package com.test; public class Inc { public static void main(String[] args) { Inc inc = new Inc(); int i = 0; inc.fermin(i); i = i++; System.out.println(i); } void fermin(int i) { i++; } } 结果是:0 上述类似代码在C/C++中运行结果是:1,这是为什么呢?   这是因为Ja

java中如果需要返回多个值怎么办

Java中如果需要返回多个值怎么办 首先我们明确一下:java方法的返回值只有一个,但是返回值的类型不限 有一种编程语言可以返回多个值 Python,实例如下:  运行结果如下: [whuang@huangwei function2]$ ./function_dict02.py My name is  Walter My age is  23   在java中如何达到相同的目的呢? (1)把这多个返回值再封装成为对象 可以封装成为java bean,数组,ArrayList ,甚至Map 下面看