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

Mysql学习在MySQL中使用序列的简单教程

发布时间:2020-12-12 02:26:52 所属栏目:MySql教程 来源:网络整理
导读:《Mysql学习在MySQL中使用序列的简单教程》要点: 本文介绍了Mysql学习在MySQL中使用序列的简单教程,希望对您有用。如果有疑问,可以联系我们。 序列是一组整数1,2,3,...中生成的顺序.序列中经常使用的数据库,因为很多应用都需要一个表中的每一行包含一个独

《Mysql学习在MySQL中使用序列的简单教程》要点:
本文介绍了Mysql学习在MySQL中使用序列的简单教程,希望对您有用。如果有疑问,可以联系我们。

序列是一组整数1,2,3,...中生成的顺序.序列中经常使用的数据库,因为很多应用都需要一个表中的每一行包含一个独特的值和序列提供了一个简单的方法来产生.本章介绍如何使用MySQL中的序列.
使用自动递增列:MYSQL应用

在MySQL中使用序列最简单的方法是定义一个AUTO_INCREMENT列,剩下的事情留给MySQL处理.
实例:MYSQL应用

试试下面的例子.这将创建表之后,它会在此表中它不是必需的记录ID插入几行,因为它由MySQL自动递增.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)

获取AUTO_INCREMENT值:MYSQL应用

LAST_INSERT_ID()是一个SQL的函数,可以用它在任何客户端来了解如何发出SQL语句.否则PERL和PHH的脚本提供了独特的功能来检索的最后一个记录的自动递增值.
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};

PHP 例子:MYSQL应用

发出后产生一个AUTO_INCREMENT值的查询,检索的值调用mysql_insert_id():MYSQL应用

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

重编为一个现有的序列:MYSQL应用

有可能出现这样的情况:当记录从表中删除了一部分要重新排序的所有记录.这可以通过使用一个简单的技巧,但应该非常小心,如果表是参加与其他表.MYSQL应用

如果确定是不可避免的重测序的AUTO_INCREMENT列的方式,这样做是从表中删除列,然后重新添加它.下面的例子演示了如何使用这种技术在BUG重新编号的id值: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,但在创建表的时候可以指定任何其他数字.下面的例子,MySQL将从100开始顺序.MYSQL应用

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

或者也可以创建表,然后设置初始序列值ALTER TABLE.MYSQL应用

mysql> ALTER TABLE t AUTO_INCREMENT = 100;

《Mysql学习在MySQL中使用序列的简单教程》是否对您有启发,欢迎查看更多与《Mysql学习在MySQL中使用序列的简单教程》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。

(编辑:李大同)

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

    推荐文章
      热点阅读