1. 程式人生 > >Mysql獲取自動增加的id的最大值的方法

Mysql獲取自動增加的id的最大值的方法

 有時我們在資料庫中存放一個最大的ID,並且每當有一條新的記錄時,該ID都自動增加。

我們建立下面的表:

CREATE TABLE  maxidtest (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;


其中id欄位為自動增加的欄位。

現在插入一條記錄:

INSERT INTO maxidteset(name) VALUES(“Hello‘);

然後用:

SELECT LAST_INSERT_ID();

獲取剛才插入的記錄時自動增加且生成的id的值。

由於LAST_INSERT_ID()是面向會話的,所以多個使用者同時操作時,不會出現問題。

另外,如果使用程式語言來獲取剛插入的記錄的最大id,虛擬碼如下:

DataSet ds = MysqlQuery("SELECT LAST_INSERT_ID()");

string id = ds.Tables[0].Rows[0][0].ToString();

相關推薦

mysql獲取自增id四種方法

1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函式 LAST_INSERT_ID 是與table無關的,如果向表a插入資料後,再向表b插入資料,LAST_INSERT_ID會改變。 在多使用者交替插入資料的情況下max(id)顯然不能用

Mysql獲取自動增加id方法

 有時我們在資料庫中存放一個最大的ID,並且每當有一條新的記錄時,該ID都自動增加。 我們建立下面的表: CREATE TABLE maxidtest ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name`

MySQL刪除重複資料 並保留ID

DELETE a FROM user1 a JOIN ( SELECT user_name, count(*), MAX(id) AS i

js獲取數組中

ply 最大值 min pan 最小數 mat max 最大值和最小值 pre var max = Math.max.apply(null, 數組); 獲取最大值 var min = Math.min.apply(null, 數組);獲取最小值 一句話獲取數組中最大的數

[原創]獲取JS數組

str 對象 tro js數組 最大值 clas 增加 his 屬性方法 核心關鍵 JS有Array數組對象,使用prototype內置屬性擴展,增加Array數組max()、min()方法 具體代碼 //最小值 Array.prototype.min =

sqlalchemy:列user_vid去重,取id

表Charts 如表Charts,value值隨id增加會變化,我們要取出每個使用者最新的value值。 id value user_vid(使用者id,唯一) user_name

MYSQL 拼接和拆分 查 數值相加

自動新增資料 abstract_object_ukid為主鍵具有唯一性 select @test:=max(abstract_object_ukid)+1 from resourcecenter.im_abstract_object; #查到abstract_object_ukid最大值加1 selec

Java陣列--獲取陣列中的案例

package com.zhangxueliang.demo; public class ArrayTest { public static void main(String[] args)

oracle 先分組後獲取每組時間

使用者每次登陸都會向表中插入一個登入日期,現在需要獲取最近N位登入的使用者及登陸時間,  因此現根據使用者進行分組,然後在求出每組中最大的日期 SELECT a."RN",a."ID",a."USERCODE",a."LOGINTIME",a."BZ",a."DQCODE"

js獲取陣列方法總結

在工作中經常會有獲取最大值的需求, 但是陣列的形式有很多種,有純數字格式的陣列,有物件格式的陣列。 下面是幾種獲取最大值的思路: 1.通過Math方法獲取 –只適用於純數字數字 maxValue = Math.max.apply(null,valuesArr) 2.將陣列

定義一個數組,獲取陣列中的

思路 : 我們定義一個數組,再定義一個max變數 用來儲存最大值  ; 再定義一個min變數,用來儲存最小值; 我們遍歷陣列,假如當前值大於max,就把當前值賦值給max; 假如當前值小於min,就把當前值賦值給min; 我們給下示例程式碼: 1 2

Java陣列練習(二) 獲取陣列中的

思路一: 1.獲取最值需要進行比較,每一次比較都會有一個較大的值,因為該值的不確定性,通過一個變數進行臨時儲存。 2.讓陣列中的每一個元素都和這個變數中的值進行比較,如果大於變數中的值,就用該變數記錄較大值。 3.當所有的元素都比較完成,那麼該變數中的儲存就是陣列中

Sql 插入ID加1

insert into aa (id,name) values((select case when max(id) is null then 1 else max(id)+1 end from aa),'a');

Js獲取陣列中的

方法一:在陣列的原型上加方法 //最小值 Array.prototype.min = function() { var min = this[0]; var len = this.length; for (var i = 1;

c++ 關於如何獲取int型的

  之前有一個題,因為求最小值時minn初始賦值不夠大,導致一直沒過,卡了很久。 之後我就發憤圖強學了這方面的內容:   int型的最大值是0x7fffffff, 可以算一下 0x7FFFFFFF 是多少 每個十六進位制數4bit,因此8位16進位制是4個位元組,剛好是一

js中獲取陣列中的函式

在相關頁面引入這個函式,傳遞引數arr(陣列)和引數param(值為'max'或'min'),即可返回相應的結果. 使用示例程式碼: var arr=[10,34,9,5]; document.write(getMaxMin(arr,'max')); 函式程式碼如下:

獲取list中的

方法一:int max = List.get(0); int min = List.get(0); for (int i = 0; i < List.size(); i++){ if(min

C/C++ 求方法

很多方面C語言和C++都很相似. 1.一般法(條件表示式)——直接在main函式中運算 特點:簡短清晰,主要用在不常求最大值的情況 #include <iostream> using namespace std; int main(){ int a,

找出陣列中的方法總結

<!DOCTYPE html> <html> <head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><

Mysql分組後以為條件獲取其他欄位

需求:按照渠道,城市,省份分組獲取最高訂單日,最高日訂單數 思路:先獲取分組後每組的訂單排序,再給他們的排序附上號數,再連結串列獲取1號的資料欄位 SELECT o.fromType,o.provinceId,o.provinceName,o.cityId,o.cityN