老莫的笔记本  
  
查看: 1163|回复: 0

MYSQL 使用序列号

[复制链接]

662

主题

878

帖子

5133

积分

超级版主

Rank: 8Rank: 8

积分
5133
发表于 2018-7-27 23:59:20 | 显示全部楼层 |阅读模式
使用AUTO_INCERMENT 来定义
  1. mysql> CREATE TABLE insect
  2.     -> (
  3.     -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  4.     -> PRIMARY KEY (id),
  5.     -> name VARCHAR(30) NOT NULL, # type of insect
  6.     -> date DATE NOT NULL, # date collected
  7.     -> origin VARCHAR(30) NOT NULL # where collected
  8. );
  9. Query OK, 0 rows affected (0.02 sec)
  10. mysql> INSERT INTO insect (id,name,date,origin) VALUES
  11.     -> (NULL,'housefly','2001-09-10','kitchen'),
  12.     -> (NULL,'millipede','2001-09-10','driveway'),
  13.     -> (NULL,'grasshopper','2001-09-10','front yard');
  14. Query OK, 3 rows affected (0.02 sec)
  15. Records: 3  Duplicates: 0  Warnings: 0
  16. mysql> SELECT * FROM insect ORDER BY id;
  17. +----+-------------+------------+------------+
  18. | id | name        | date       | origin     |
  19. +----+-------------+------------+------------+
  20. |  1 | housefly    | 2001-09-10 | kitchen    |
  21. |  2 | millipede   | 2001-09-10 | driveway   |
  22. |  3 | grasshopper | 2001-09-10 | front yard |
  23. +----+-------------+------------+------------+
  24. 3 rows in set (0.00 sec)
复制代码
上述代码解析: 以上实例中 创建了数据表 inset ,inset 中的 id 无需指定值可实现自动增长。

获取auto_increment 的值: 使用函数 LAST-INSERT_ID() 函数来获取最后的插入表中的自增列的值。、
帖段PHP代码:
  1. mysql_query ("INSERT INTO insect (name,date,origin)
  2. VALUES('moth','2001-09-14','windowsill')", $conn_id);
  3. $seq = mysql_insert_id ($conn_id);
复制代码


重置序列: 对剩下 的数据重新排序
  1. mysql> ALTER TABLE insect DROP id;
  2. mysql> ALTER TABLE insect
  3.     -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
  4.     -> ADD PRIMARY KEY (id);
复制代码


设置序列的开始值:
  1. ysql> CREATE TABLE insect
  2.     -> (
  3.     -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
  4.     -> PRIMARY KEY (id),
  5.     -> name VARCHAR(30) NOT NULL,
  6.     -> date DATE NOT NULL,
  7.     -> origin VARCHAR(30) NOT NULL
  8. )engine=innodb auto_increment=100 charset=utf8;
复制代码


或者可以在表创建成功后,通过以下语句来实现
  1. ALTER TABLE t AUTO_INCREMENT = 100;
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表