博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql自增字段
阅读量:6823 次
发布时间:2019-06-26

本文共 1239 字,大约阅读时间需要 4 分钟。

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,则通过得到的值就是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

转载于:https://www.cnblogs.com/olmlo/p/3638001.html

你可能感兴趣的文章
PHP 扩展开发之Zephir
查看>>
virtual box 安装centos min
查看>>
linux tracepoint用法【转】
查看>>
iOS 再谈 代理传值
查看>>
scrapy-redis基础和介绍
查看>>
Vagrant 中配置局域网端口
查看>>
NIO、Servlet3.0、HTTP1.1
查看>>
python里混淆矩阵 左下角为漏报,右上角为误报
查看>>
jenkins持续集成的步骤
查看>>
使用 react-native-tab-navigator 创建 TabBar 组件
查看>>
053 kafka自带的生产者与消费者测试
查看>>
RDS for MySQL 如何使用 Percona Toolkit
查看>>
vscode Gitlens插件 查看代码提交
查看>>
将毫秒格式化为分钟和秒 ,并补0
查看>>
Java接口多线程并发测试 (二)
查看>>
【WPF】ListBox嵌套与事件冒泡
查看>>
【WPF】CommandParameter解决多传参问题
查看>>
Java实现多线程的四种实现方式
查看>>
命运多厄的830,准备买彩票的我[Teaks]
查看>>
JavaScript对象也玩序列化和反序列化[转]
查看>>