Mysql学习在MySQL中使用序列的简单教程
《Mysql学习在MySQL中使用序列的简单教程》要点: 序列是一组整数1,2,3,...中生成的顺序.序列中经常使用的数据库,因为很多应用都需要一个表中的每一行包含一个独特的值和序列提供了一个简单的方法来产生.本章介绍如何使用MySQL中的序列. 在MySQL中使用序列最简单的方法是定义一个AUTO_INCREMENT列,剩下的事情留给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的脚本提供了独特的功能来检索的最后一个记录的自动递增值. 使用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为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- MYSQL教程/var/log/pacct文件导致MySQL启动失败的案例分享
- MySQL服务器的SQL模式(sql_mode变量)
- Mysql必读mysql Access denied for user ‘root’@’localh
- MYSQL教程可以改善mysql性能的InnoDB配置参数
- 在查询中限制MySQL结果
- MySQL更新(太长时间)了
- Mysql应用Python版Mysql爆破小脚本
- MYSQL教程mysql 5.7.14 下载安装配置方法图文教程
- Mysql应用MySQL对limit查询语句的优化方法
- MYSQL数据库SELECT INTO 和 INSERT INTO SELECT 两种表复制