加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql入门MySQL 序列 AUTO_INCREMENT详解及实例代码

发布时间:2020-12-12 01:22:41 所属栏目:MySql教程 来源:网络整理
导读:《Mysql入门MySQL 序列 AUTO_INCREMENT详解及实例代码》要点: 本文介绍了Mysql入门MySQL 序列 AUTO_INCREMENT详解及实例代码,希望对您有用。如果有疑问,可以联系我们。 MYSQL必读 MySQL 序列 AUTO_INCREMENT详解及实例代码 MYSQL必读 MySQL序列是一组整数

《Mysql入门MySQL 序列 AUTO_INCREMENT详解及实例代码》要点:
本文介绍了Mysql入门MySQL 序列 AUTO_INCREMENT详解及实例代码,希望对您有用。如果有疑问,可以联系我们。

MYSQL必读MySQL 序列 AUTO_INCREMENT详解及实例代码

MYSQL必读MySQL序列是一组整数:1,2,3,...,由于一张数据表只能有一个字段自增主键,如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现.

MYSQL必读本章我们将介绍如何使用MySQL的序列.

MYSQL必读使用AUTO_INCREMENT

MYSQL必读MySQL中最简单使用序列的方法就是使用 MySQL AUTO_INCREMENT 来定义列.

MYSQL必读实例

MYSQL必读以下实例中创建了数据表insect,insect中id无需指定值可实现自动增长.

MYSQL必读
mysql> CREATE TABLE insect
  -> (
  -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,-> PRIMARY KEY (id),-> name VARCHAR(30) NOT NULL,# type of insect
  -> date DATE NOT NULL,# date collected
  -> origin VARCHAR(30) NOT NULL # where collected
);
Query OK,0 rows affected (0.02 sec)
mysql> INSERT INTO insect (id,name,date,origin) VALUES
  -> (NULL,'housefly','2001-09-10','kitchen'),-> (NULL,'millipede','driveway'),'grasshopper','front yard');
Query OK,3 rows affected (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM insect ORDER BY id;
+----+-------------+------------+------------+
| id | name    | date    | origin   |
+----+-------------+------------+------------+
| 1 | housefly  | 2001-09-10 | kitchen  |
| 2 | millipede  | 2001-09-10 | driveway  |
| 3 | grasshopper | 2001-09-10 | front yard |
+----+-------------+------------+------------+
3 rows in set (0.00 sec)

MYSQL必读?获取AUTO_INCREMENT值

MYSQL必读在MySQL的客户端中你可以使用 SQL中的LAST_INSERT_ID( ) 函数来获取最后的插入表中的自增列的值.

MYSQL必读在PHP或PERL脚本中也提供了相应的函数来获取最后的插入表中的自增列的值.

MYSQL必读PERL实例

MYSQL必读使用 mysql_insertid 属性来获取 AUTO_INCREMENT 的值. 实例如下:

MYSQL必读
$dbh->do ("INSERT INTO insect (name,origin)
VALUES('moth','2001-09-14','windowsill')");
my $seq = $dbh->{mysql_insertid};

MYSQL必读PHP实例

MYSQL必读PHP 通过 mysql_insert_id ()函数来获取执行的插入SQL语句中 AUTO_INCREMENT列的值.

MYSQL必读
mysql_query ("INSERT INTO insect (name,'windowsill')",$conn_id);
$seq = mysql_insert_id ($conn_id);

MYSQL必读?重置序列

MYSQL必读如果你删除了数据表中的多条记录,并希望对剩下数据的AUTO_INCREMENT列进行重新排列,那么你可以通过删除自增的列,然后重新添加来实现. 不过该操作要非常小心,如果在删除的同时又有新记录添加,有可能会出现数据混乱.操作如下所示:

MYSQL必读
mysql> ALTER TABLE insect DROP id;
mysql> ALTER TABLE insect
  -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,-> ADD PRIMARY KEY (id);

MYSQL必读?设置序列的开始值

MYSQL必读一般情况下序列的开始值为1,但如果你需要指定一个开始值100,那我们可以通过以下语句来实现:

MYSQL必读
mysql> CREATE TABLE insect
  -> (
  -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100,# date collected
  -> origin VARCHAR(30) NOT NULL # where collected
);

MYSQL必读或者你也可以在表创建成功后,通过以下语句来实现:

MYSQL必读
mysql> ALTER TABLE t AUTO_INCREMENT = 100;

MYSQL必读感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读