1.关键字 
auto_increment

2.自增用法 
例: 
CREATE TABLE animals ( id mediumint not null auto_increment, 
name char(30) not null, 
primary key (id));

3.关于自增

Q:怎么获得当前的自增的最大值?

Q:怎么获得table的当前自增最大值? 
A:select @@identity

A:select max(id) from table

Q:对自增的理解? 
A: 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的。LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变。

使用单INSERT语句插入多条记录, LAST_INSERT_ID返回一个列表。

@@identity是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。比如有个表A,它的自增列是id,当向A表插入一行数据后,如果插入数据后自增列的值自动增加至101,则通过select@@identity得到的值就是101。

注:LAST_INSERT_ID是一个函数.
用法:LAST_INSERT_ID()

Q:MYSQL中的LAST_INSERT_ID()和MSSQL中的@@IDENTITY 
A:按照应用需要,常常要取得刚刚插入数据库表里的记录的ID值。 
在MYSQL中可以使用LAST_INSERT_ID()函数,在MSSQL中使用@@IDENTITY。挺方便的一个函数。

但是,这里需要注意的是,当使用INSERT语句插入多条记录的时候,使用LAST_INSERT_ID()返回的还是第一条的ID值,而@@IDENTITY返回最后一条。

Q:mysql_insert_id()与LAST_INSERT_ID()
A:mysql_insert_id() 将 MySQL 内部的 C API 函数 mysql_insert_id() 的返回值转换成 long(PHP中命名为int)。如果 AUTO_INCREMENT 的列的类型是 BIGINT,则 mysql_insert_id() 返回的值将不正确。可以在 SQL查询中用 MySQL 内部的 SQL 函数 LAST_INSERT_ID() 来替代。

MySQL的LAST_INSERT_ID()的介绍 mysql_insert_id()就是调用LAST_INSERT_ID()来实现的。

在mysql中用last_insert_id()....在程序中用mysql_insert_id().

转自:http://blog.csdn.net/ivanluc/article/details/5184502

Mysql自增字段的更多相关文章

  1. 修改mysql自增字段的方法

    修改mysql自增字段的方法 修改 test_user 库 user 表 auto_increment为 10000(从10000开始递增) <pre>mysql> alter ta ...

  2. 关于在iBatis中配置Oracle以及MySQL 自增字段

    <insert id="insertPerson" parameterClass="person"> <!-- MySQL数据库自增字段的控制 ...

  3. mysql自增字段重排 或 归零

    由于删除了某些记录行,所以自增字段不连续了.重排或归零的方法:方法1:truncate table 你的表名//这样不但重新定位自增的字段,而且会将表里的数据全部删除,慎用!方法2:delete fr ...

  4. mysql自增字段AUTO_INCREMENT重排或归零

    由于删除了某些记录行,导致自增字段不连续了,重排或归零的方法: 方法1:truncate table 你的表名//这样不但重新定位自增的字段,而且会将表里的数据全部删除,慎用! 方法2:delete ...

  5. MySQL 自增字段取值

    1 前言 本文来自回答思否网友的一个问题,这个网友新建了一张表,auto_increment_increment设为10,AUTO_INCREMENT主键起始值设为9, 当他插入数据的时候,发现主键值 ...

  6. 关于mysql自增字段问题

    最近遇到mysql字段的自增问题,需要临时处理一下,然后就顺便补补课,这样就有了这样一篇文章. 1.自增值是什么 他是一个字段属性,是用来创建唯一标识的列的 The AUTO_INCREMENT at ...

  7. 自增字段 auto_commit的研究分析

    MySQL自增字段,自增字段计数器在主存储里面,不在硬盘上(This counter is stored only in main memory, not on disk). 1,添加表,设立自增主键 ...

  8. Mysql中自增字段(AUTO_INCREMENT)的一些常识

    Mysql中自增字段(AUTO_INCREMENT)的一些常识: http://chengxuyuan.naxieshir.com/fenlei/2/p/151.html

  9. mysql 出现Duplicate entry ‘xxx’ for key ‘PRIMARY’,一个自增字段达到了上限,

    mysql 出现Duplicate entry 'xxx' for key 'PRIMARY',一个自增字段达到了上限,

随机推荐

  1. HDU 1023 Train Problem II (卡特兰数,经典)

    题意: 给出一个数字n,假设火车从1~n的顺序分别进站,求有多少种出站序列. 思路: 卡特兰数的经典例子.n<101,用递推式解决.需要使用到大数.n=100时大概有200位以下. #inclu ...

  2. 20160122.CCPP详解体系(0001天)

    程序片段(01):Hello.c 内容概要:HelloWorld //01.#include表示包含的作用: // (1).<>:表示只在系统目录之下进行查找 // (2)."& ...

  3. scala学习笔记(2)

    1 Loop (1) for (i <- 1 to 3){ # 1 2 3 } (2) for (i <- 1 until 3){ #1 2 } (3)过滤 for (i <- 1 ...

  4. HDU 4766 Network

    题意   就是找到一个 位置 使得路由器可以覆盖所有英雄    可以不覆盖主人自己, 找到距离 主人房子最近的位置,距离为多少 没想到  其实是道水题啊!!  分三个情况讨论 第一个情况    如果 ...

  5. typedef 深入剖析

    typedef是一个我们常常会用到的关键字,而这个关键字有许多陷阱或者说许多不为我们深入理解的地方.很多书上都是很简单地一笔代过,并没有真正地让我们理解这个关键字.本文对其进行详细地说明.综合网络上找 ...

  6. JVM——新生代与老年代

    首先看在JVM的堆中,按代的划分: Young:主要是用来存放新生的对象. Old:主要存放应用程序中生命周期长的内存对象. Permanent:是指内存的永久保存区域,主要存放Class和Meta的 ...

  7. Android Studio你不知道的调试技巧

    写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug:那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression, 知道条件断点 ...

  8. Delphi 异或,英文为exclusive OR,或缩写成xor

    异或,英文为exclusive OR,或缩写成xor 异或(xor)是一个数学运算符.它应用于逻辑运算.异或的数学符号为“⊕”,计算机符号为“xor”.其运算法则为: a⊕b = (¬a ∧ b) ∨ ...

  9. mac 版本的 Google 网盘 走代理

    开启surge Mac版 设置系统代理 127.0.0.1,192.168.0.0/16,10.0.0.0/8,172.16.0.0/12,localhost,*.local 理论上可以使用cow来代 ...

  10. Mac下用命令行直接批量转换文本编码到UTF8

    由于近期在Mac下写Android程序,下载的一些Demo由于编码问题源码里的汉字出现乱码,文件比较多,所以想批量解决下文件的编码问题. Mac下有以下两种方式可以解决: A. 文件名的编码:Mac的 ...