mysql数据库查询序列
mysql数据库获取当前序列号或者插入一条数据怎么得到刚插入数据的自动生成主键ID值。求完整SQL语句表为test在线等。...
mysql数据库 获取当前序列号 或者插入一条数据怎么得到刚插入数据的自动生成主键ID值。 求完整SQL语句 表为test 在线等。
展开
展开全部
问题分析:序列=自增ID,是数据库根据数据插入先后顺序自动生成的。
查询方式:
只能再查询自增ID即可
具体操作:MYSQL获取自增ID的四种方法
select max(id) from tablename
SELECT LAST_INSERT_ID() 函数
LAST_INSERT_ID 是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变。
select @@IDENTITY;
@@identity 是表示的是最近一次向具有identity属性(即自增列)的表插入数据时对应的自增列的值,是系统定义的全局变量。一般系统定义的全局变量都是以@@开头,用户自定义变量以@开头。
SHOW TABLE STATUS;
得出的结果里边对应表名记录中有个Auto_increment字段,里边有下一个自增ID的数值就是当前该表的最大自增ID.
推荐于2016-08-20
展开全部
创建一个表, id 列使用 mysql 的自动递增
mysql> CREATE TABLE test_create_tab2 (
-> id INT AUTO_INCREMENT,
-> val VARCHAR(10),
-> PRIMARY KEY (id)
-> );
Query OK, 0 rows affected (0.09 sec)
-- 插入一行数据
mysql> INSERT INTO test_create_tab2(val) VALUES ('NO id');Query OK, 1 row affected (0.03 sec)
-- 获取刚才插入那行的 自增ID。
mysql> select last_insert_id() as id;
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)
-- 插入一行数据
mysql> INSERT INTO test_create_tab2(val) VALUES ('NO id 2');Query OK, 1 row affected (0.03 sec)
-- 获取刚才插入那行的 自增ID。
mysql> select last_insert_id() as id;
+----+
| id |
+----+
| 2 |
+----+
1 row in set (0.00 sec)
-- 最后核对一下数据。
mysql> select * from test_create_tab2;
+----+---------+
| id | val |
+----+---------+
| 1 | NO id |
| 2 | NO id 2 |
+----+---------+
2 rows in set (0.00 sec)
mysql> CREATE TABLE test_create_tab2 (
-> id INT AUTO_INCREMENT,
-> val VARCHAR(10),
-> PRIMARY KEY (id)
-> );
Query OK, 0 rows affected (0.09 sec)
-- 插入一行数据
mysql> INSERT INTO test_create_tab2(val) VALUES ('NO id');Query OK, 1 row affected (0.03 sec)
-- 获取刚才插入那行的 自增ID。
mysql> select last_insert_id() as id;
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)
-- 插入一行数据
mysql> INSERT INTO test_create_tab2(val) VALUES ('NO id 2');Query OK, 1 row affected (0.03 sec)
-- 获取刚才插入那行的 自增ID。
mysql> select last_insert_id() as id;
+----+
| id |
+----+
| 2 |
+----+
1 row in set (0.00 sec)
-- 最后核对一下数据。
mysql> select * from test_create_tab2;
+----+---------+
| id | val |
+----+---------+
| 1 | NO id |
| 2 | NO id 2 |
+----+---------+
2 rows in set (0.00 sec)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select last_insert_id(); 其中last_insert_id()为一函数,自动返回最后一个insert或update为auto_increment列设置的第一个发生的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select last_insert_id();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设计数据库最好是有自动生成主键ID,再加上自己定义的unique的字段吧,这样你插进去,再根据这个unique的字段得到自动生成的Id。。。。
追问
mysql不是主键自动序列的么。可以写一个sql语句查询ID例子么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询