最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

在MySQL中使用序列的简单教程_MySQL

来源:动视网 责编:小采 时间:2020-11-09 19:50:18
文档

在MySQL中使用序列的简单教程_MySQL

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


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

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

试试下面的例子。这将创建表之后,它会在此表中它不是必需的记录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','2001-09-10','driveway'),
 -> (NULL,'grasshopper','2001-09-10','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值:

LAST_INSERT_ID()是一个SQL的函数,可以用它在任何客户端来了解如何发出SQL语句。否则PERL和PHH的脚本提供了独特的功能来检索的最后一个记录的自动递增值。
PERL 例子:

使用mysql_insertid属性来获得查询产生的AUTO_INCREMENT值。此属性的访问是通过一个数据库句柄或语句句柄,这取决于如何发出查询。下面的示例引用,它通过数据库句柄:

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

PHP 例子:

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

mysql_query ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')", $conn_id);
$seq = mysql_insert_id ($conn_id);

重编为一个现有的序列:

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

如果确定是不可避免的重测序的AUTO_INCREMENT列的方式,这样做是从表中删除列,然后重新添加它。下面的例子演示了如何使用这种技术在BUG重新编号的id值:

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

启动序列在一个的特殊的值:

默认情况下,MySQL将开始顺序1,但在创建表的时候可以指定任何其他数字。下面的例子,MySQL将从100开始顺序。

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

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

mysql> ALTER TABLE t AUTO_INCREMENT = 100;

文档

在MySQL中使用序列的简单教程_MySQL

在MySQL中使用序列的简单教程_MySQL:序列是一组整数1,2,3,...中生成的顺序。序列中经常使用的数据库,因为很多应用都需要一个表中的每一行包含一个独特的值和序列提供了一个简单的方法来产生。本章介绍如何使用MySQL中的序列。 使用自动递增列: 在MySQL中使用序列最简单的方法是定义一个AU
推荐度:
标签: 教程 简单 使用的
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top