`
8366
  • 浏览: 809360 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

自增字段

    博客分类:
  • DB
阅读更多

 

 

Oracle

 

1、建用户数据表
      drop table dectuser;
      create table dectuser(
           userid integer primary key, /*主键,自动增加*/
           name varchar2(20),
          sex varchar2(2)
           );

2、创建自动增长序列
      drop sequence dectuser_tb_seq;
      create sequence dectuser_tb_seq minvalue 1 maxvalue 99999999
               increment by 1
               start with 1;   /*步长为1*/

 

         a.查询序列的下一次,每查询一次,都会引起序列当前的变化
  
       select dectuser_tb_seq.nextval from dual
  
     b.查询序列的当前值,不会引起序列当前值的变化
 
    select dectuser_tb_seq.currval from dual

 


3、创建触发器
      create or replace trigger dectuser_tb_tri
          before insert on dectuser     /*触发条件:当向表dectuser执行插入操作时触发此触发器*/
           for each row                 /*对每一行都检测是否触发*/
           begin                        /*触发器开始*/
                 select dectuser_tb_seq.nextval into :new.userid from dual;   /*触发器主题内容,即触发后执行的动作,在此是取得序列dectuser_tb_seq的下一个值插入到表dectuser中的userid字段中*/
            end;
           /*退出sqlplus行编辑*/
4、提交
       commit;

       现在就完成了自增主键的设定,搞定!可以检测一下。
      insert into dectuser(name,sex) values ('wang','女');
****************************************************************************************************

总的来说,通过在insert操作之前,添加一个触发器,将序列的值放到了将要插入的数据的ID中。
所以,需要 建表->建序列->建触发器 这样一个过程。
我觉得有几个要注意的
一是主键类型为 INT型比较好。
二是触发器主题内容中,select...into 后面的冒号不能掉了。

 

转载:

http://blog.csdn.net/wangzwhu/archive/2008/10/29/3173918.aspx

 

 

 

Mysql:

 

比如有个表:

 

CREATE TABLE `person` (                               
          `id` int(10) NOT NULL AUTO_INCREMENT,               
          `name` varchar(20) NOT NULL,                        
          PRIMARY KEY (`id`)                                  
        ) ENGINE=InnoDB AUTO_INCREMENT=123456 DEFAULT CHARSET=gbk 

 

 

这里就建立了一个person表,id 字段自动增加,每次增加1,从123456开始,注意表一定要有主键

 


 

分享到:
评论

相关推荐

    常用数据库的自增字段创建方法汇总

    ### 常用数据库的自增字段创建方法汇总 在数据库设计中,自增字段(自动增长字段)是非常常见的一种需求。它主要用于为主键提供唯一且连续递增的标识符,便于记录数据条目的唯一性。不同的数据库系统支持不同的自增...

    mysql自增字段重排 mysql删除表后自增字段从1开始.pdf

    在MySQL数据库中,自增字段(AUTO_INCREMENT)是一种常见的特性,用于在插入新记录时自动为该字段生成唯一的序列编号。这个字段通常用于主键,确保每个记录的唯一性。以下是对MySQL自增字段相关知识点的详细说明: ...

    mysql自增字段重排 mysql删除表后自增字段从1开始.docx

    MySQL中的自增字段是数据库设计中常用的一种特性,主要用于生成唯一的序列号,通常用于主键。自增字段的默认行为是每次插入新记录时自动增加一个整数值,从1开始并递增。然而,当删除记录或有特殊操作时,自增字段的...

    Oracle在表上建立自增字段的方法

     primary key(id) //id为主键,下面的方法把它设为自增字段  )  1、建立自增序列TEMP_TEST_IDADD,命名任意,从1开始,每次加1  CREATE SEQUENCE TEMP_TEST_IDADD INCREMENT BY 1 START WITH 1;  2、在表...

    MySQL自增字段为何报错.pdf

    "MySQL自增字段报错解决方案" MySQL自增字段报错是指在MySQL数据库中,自增字段出现重复值或无法再添加新记录的错误情况。本文将详细介绍MySQL自增字段报错的原因、解决方案和相关经验总结。 一、MySQL自增字段...

    sql2005自增字段归零.docx

    在SQL Server 2005中,自增字段(Identity字段)是一种特殊类型的列,它在每次插入新记录时自动递增其值,通常用于创建唯一的主键。然而,在某些情况下,用户可能需要重置这个自增字段,使其从特定值(如1)重新开始...

    自增字段的SQL语句解决方案

    ### 自增字段的SQL语句解决方案 在数据库设计与管理中,自增字段是一个非常实用的功能,它能够自动为每一条新记录分配一个唯一的、连续的整数值。这对于需要唯一标识符(例如主键)的场景特别有用。本文将详细介绍...

    Oracle自增字段的实际应用

    Oracle自增字段的实际应用,对比各种数据库自增字段的应用!

    SQL Server 中调整自增字段的当前初始值

    SQL Server 中调整自增字段的当前初始值 SQL Server 中调整自增字段的当前初始值是指在 SQL Server 中对自增字段的当前初始值进行调整,以解决自增字段的当前初始值与数据库维护的初始自增值不一致的问题。 在 SQL...

    oracle里建一个自增字段示例

    ### Oracle里建一个自增字段示例 在Oracle数据库中,自增字段通常通过序列(Sequence)和触发器(Trigger)来实现。本篇文章将详细解释如何创建一个自增字段,并通过具体的步骤和代码示例来进行说明。 #### 序列...

    Oracle9i中建立自增字段的最新办法

    在Oracle数据库系统中,与许多其他关系型数据库如MySQL或SQL Server不同,Oracle并没有内置的自增字段(Identity Column)特性。但是,Oracle9i及后续版本提供了Sequence和Trigger机制,使得开发者可以通过这两种...

    Oracle中创建表,创建序列,创建自增字段,添加注释, 添加记录,添加触发器,提交

    Oracle 中创建表、序列、自增字段、添加注释、添加记录、添加触发器、提交的知识点总结 Oracle 中创建表是指在 Oracle 数据库中创建一个新的表结构,以存储特定的数据。在创建表时,需要指定表的名称、字段名称、...

    Oracle使用序列创建自增字段

    ### Oracle 使用序列创建自增字段 在数据库设计与开发中,自增字段是十分常见的需求之一,尤其是在需要为每一行记录自动分配一个唯一编号的情况下。Oracle 数据库通过序列(Sequence)这一特性支持自增字段的实现。...

    JPA主键策略(针对数据库自增字段重置后无效检查项)

    GenerationType.IDENTITY 是一种常用的主键策略,它使用数据库的自增字段来生成主键。在使用这个策略时,JPA会将主键的生成工作交由数据库完成,hibernate 不会介入。这意味着,数据库将负责生成主键,而不是...

    Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍

    Oracle 创建自增字段方法-ORACLE SEQUENCE 的简单介绍 Oracle SEQUENCE 是一种特殊的数据库对象,用于生成一系列唯一的数值,通常用于主键或其他需要唯一标识的字段。下面将详细介绍 Oracle 创建自增字段方法-...

    django自定义非主键自增字段类型详解(auto increment field)

    在Django框架中,开发人员有时需要自定义字段类型以满足特定需求,比如创建一个非主键的自增字段。`django自定义非主键自增字段类型详解(auto increment field)`这一主题旨在介绍如何在Django中实现这样一个功能。...

    MyCat主键自增字段开启1

    在MyCat中,主键自增字段的管理是一个关键特性,特别是在需要保证全局唯一性的场景下。 要开启主键自增功能,我们需要进行以下步骤: 1. 修改`server.xml`配置文件: 在`server.xml`中,找到`sequnceHandlerType`...

    Oracle 实现类似SQL Server中自增字段的一个办法

    在SQL Server中,自增字段通常通过`IDENTITY`属性实现,它会自动为新插入的行生成一个唯一的序列号。然而,在Oracle数据库系统中,没有直接对应的`IDENTITY`功能,但可以通过其他方式来模拟这个行为。这里我们将讨论...

    Oracle里的自增字段设置

    在Oracle数据库中,自增字段的设置确实与MySQL等其他数据库系统有所不同。Oracle在较新的12c版本中引入了一种新的语法,使得创建自增序列变得更加方便。这个特性被称为`IDENTITY`列,它允许我们在创建表时直接定义一...

    python mysql自增字段AUTO_INCREMENT值的修改方式

    在处理MySQL数据库时,经常需要操作自增字段(AUTO_INCREMENT),尤其是当需要调整自增起始值的时候。在Python中与MySQL交互时,了解如何修改AUTO_INCREMENT的值是十分重要的。本文将深入探讨如何在使用Python操作...

Global site tag (gtag.js) - Google Analytics