`

不同数据库间的自增处理

阅读更多

1:mysql 下 用自增序列

    create table base_function

       (id int auto_increment,name verchar(10),

         primary key(id) 

      )

    <insert id="save">
        INSERT INTO base_function(name) values(#name)

       <selectKey resultType="java.lang.Long"   keyProperty="id"> 
                 SELECT LAST_INSERT_ID() AS id
        </selectKey> 
    </insert>

 

2:oracle下 用sequence处理

<insert id="save">
        <selectKey resultType="java.lang.Long"  order="BEFORE" keyProperty="id">
            SELECT Sequence_a.NEXTVAL FROM DUAL
        </selectKey>

      INSERT INTO STOCK_FRONT_GROUP(id,name)

      values(#id,#name)

</insert>

 

区别:

1:

mysql 自增,插入sql中不需要维护字段,数据库维护。

oracle插入sql中要自个维护字段,只是这个字段是从数据库序列中获取的。

2:

两者都能返回主键数据

 

 

 

分享到:
评论

相关推荐

    数据库自增字段是字符型的简单处理

    因为在数据库端实现自增,不能在软件端处理了。在不考虑  几个函数的解释:  Right(str,len)-字段返回右边的len个字符的字符串str  MAX()-字段中大的值  IsNull() 如为空为空  思路:  首先这是个...

    神通数据库帮助手册(SQL语言手册,数据库备份恢复,读写分离集群,数据库审计,数据库进程守护,数据库接口.zip

    神通数据库可能提供不同类型的接口,如ODBC(Open Database Connectivity)、JDBC(Java Database Connectivity)或其他特定语言的驱动,以便于各种开发环境的集成。 总的来说,神通数据库帮助手册是一份综合性的...

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

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

    SqlServer Mysql数据库修改自增列的值及相应问题的解决方案

    由于之前处理过sql server数据库的迁移工作,尝试过其自增列值的变更,但是通过SQL 语句修改自增列值,是严格不允许的,直接报错(无法更新标识列 ‘自增列名称‘)。sql server我测试是2008、2012和2014,都不允许...

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

    这些不同的自增字段创建方法反映了各种数据库系统的不同设计哲学和功能集。在实际应用中,根据所使用的数据库系统和特定需求选择合适的方法至关重要。理解这些差异有助于确保在数据库设计中实现高效、可靠的自增字段...

    mysql 数据库自增id 的总结.docx

    总的来说,MySQL的自增ID机制简化了主键的管理和插入操作,而INSERT和REPLACE语句则提供了灵活的数据插入方式,包括批量插入和处理主键冲突。在实际应用中,理解这些概念和用法对于有效地管理数据库非常重要。

    分布式数据库唯一主键设计

    分布式数据库在现代互联网应用中扮演着重要角色,它能够处理海量数据并提供高可用性和可扩展性。然而,随着数据的分布式存储,如何确保每个记录的唯一标识成为一个关键问题。"分布式数据库唯一主键设计"涉及到如何在...

    支持主键自增的数据库获取主键值.zip

    在处理主键自增时,MyBatis提供了一些特定的机制来帮助我们获取这些自动生成的主键值。 首先,我们需要在MyBatis的映射文件(Mapper XML)中设置`useGeneratedKeys="true"`和`keyProperty="property_name"`这两个...

    创建oracle数据库中表的主键和自增

    ### 创建Oracle数据库中表的主键和自增 在Oracle数据库中实现自增主键是一项常见但非常重要的功能。这不仅有助于确保数据的唯一性,还能简化开发过程中的某些环节,尤其是在需要自动增长的主键时。下面将详细介绍...

    oracle数据库如何创建自增列的技巧教程.docx

    Oracle 数据库虽然没有内置的自增字段类型,但可以通过序列(Sequence)和触发器(Trigger)来模拟这一功能。以下是如何在 Oracle 中创建自增列的详细步骤和相关知识点: 1. **创建序列(Sequence)** - `CREATE ...

    C#中的事务处理,数据库编程中常用

    在IT领域,尤其是在数据库编程中,事务处理是一个至关重要的概念,尤其在使用C#进行开发时。事务确保了数据的一致性和完整性,是数据库操作的基本单位。本篇将深入探讨C#中的事务处理,以及如何在实践中应用这些知识...

    Oracle数据库表序列ID自增生成器

    本篇将深入探讨Oracle数据库表序列ID自增生成器及其相关知识点。 首先,序列(Sequence)是Oracle数据库提供的一种机制,它能够按顺序生成唯一的数字,且这个过程是线程安全的。序列可以在不使用表的情况下单独创建...

    mybatis自增主键文档

    总的来说,MyBatis提供了一套灵活的机制来处理不同数据库的自增主键。对于Oracle,可以通过Sequence来生成主键,而对于MySQL,可以直接依赖其内置的自增特性。如果需要在插入后获取主键值,可以利用`&lt;selectKey&gt;`...

    java快速ID自增器

    然而,这种机制在分布式系统或高并发环境下可能无法满足需求,因为单个数据库实例可能无法处理所有的请求。 Java中的快速ID自增器通常是通过以下几种方式实现的: 1. **原子类**:Java的`AtomicLong`类是线程安全...

    WPF+C#实现为MySQL数据库中的表添加新的一列

    在IT行业中,数据库管理和...确保正确处理异常、安全地关闭数据库连接以及遵循最佳实践(如使用参数化查询防止SQL注入攻击)都是非常重要的。同时,对数据库设计原则和SQL语法的深入理解也是成功完成此类任务的关键。

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

    在MySQL数据库中,自增字段(AUTO_INCREMENT)是一种常见的特性,用于在插入新记录时自动为该字段生成...根据实际需求选择合适的存储引擎,以及正确处理自增字段的删除和初始化,能有效提升数据库的性能和管理便利性。

    DB2DB 数据库转换工具 V1.9.5

    · 支持各种数据库中自增型字段的处理 · 支持同步前对数据表进行检查,避免出现由于数据库自身限制的原因而导致同步失败的情况 · 支持把同步内容导出为 SQL 文件的功能 · 支持自定义选择需要同步的数据表 · 支持...

Global site tag (gtag.js) - Google Analytics