`
trydofor
  • 浏览: 151862 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

DB中自增型主键的小麻烦

阅读更多
工作中自增型主键的小麻烦主要有以下几个:
1. 同DB中,多表关系。
2. 不同DB中,同表关系。
3. 数据维护及导入导出。
4. 分布式。

举例
A表主键a自增,B表主键b自增,A.a是B.a的外键。

1.同DB中,多表关系。
插入时,需要知道A.a才能插入B.b

2.不同DB中,同表关系。
同时存在 X和Y两个schema,于是 X.A.a 和 Y.A.a 的意义不一致。

3. 数据维护及导入导出。
麻烦(a),出现断号。
没有delete,但见过自增型主键断号的事,未能重现和追查。纳闷。

麻烦(b),不是所有DB或版本,可以重置计数器。

麻烦(c),从X把 A(1...n)导入 Y,在Y上完全要重新关联表关系。
实际业务场景是,X版本的债权状况劣化,需要包装(倒卖)到Y版本。

4. 分布式。
分段自增,避免区间叠加。

分享到:
评论

相关推荐

    Navicat Premium中Oracle创建主键自增的方法

    到此这篇关于Navicat Premium中Oracle创建主键自增的方法的文章就介绍到这了,更多相关Navicat Premium主键自增内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!

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

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

    设置db2 字段自增长

    在数据库管理中,自增长字段是一种常见的需求,尤其是在设计主键或唯一标识符时。DB2作为一种强大的关系型数据库管理系统,提供了多种方法来实现字段的自增长功能。本文将详细介绍如何在DB2中通过触发器及`GENERATED...

    基于django 的orm中非主键自增的实现方式

    ### 基于Django ORM中的非主键自增实现方式 #### 一、引言 在使用Django开发Web应用时,ORM(Object-Relational Mapping,对象关系映射)技术提供了极大的便利性,使得开发者能够以面向对象的方式操作数据库。其中...

    Go-beego框架自增id自写方法

    在大多数数据库系统中,自增ID是由数据库管理系统自动管理的,每次插入新记录时,它会自动递增并赋值给主键字段。然而,Beego ORM在执行批量插入时,并不返回这些生成的ID。 解决这个问题,我们可以分为以下几个...

    DB9 DB15 DB25 DB37 D型公头母头连接器3D封装库(STEP后缀)文件.zip

    DB9 DB15 DB25 DB37 D型公头母头连接器3D封装库(STEP后缀)文件: Connector - d-sub.STEP DB-Female.STEP DB-Male.STEP DB15RA_F.STEP DB15RA_M.STEP DB15_F.STEP DB15_M.STEP DB25 .STEP DB25-F.STEP DB25-M.STEP...

    DB9 DB15 DB25 DB37 DB50 直型弯型针型孔型封装大全Altium库 PCB封装库90个合集(AD库).zip

    DB9 DB15 DB25 DB37 DB50 直型弯型针型孔型封装大全Altium库 PCB封装库90个合集(AD库): 封装型号列表: Component Count : 90 Component Name ----------------------------------------------- DB9 DB9 公 90° ...

    真实项目中关于主键生成方式的剖析(JPA)

    而在MySQL和Microsoft SQL Server等数据库中,系统会自动创建并管理自增主键,无需用户干预。 在Oracle中,创建序列并获取下一个值通常通过`Sequence.nextval`方法完成,可以预定义或采用系统默认的参数。序列在...

    TIA PORTAL 西门子博途中怎样设置DB块中的变量数据为保持型或不保持?.docx

    DB块中的变量可以分为两类:保持型和非保持型。保持型变量在PLC断电后仍能保留其最后的状态,而非保持型变量在电源中断后将复位为初始值。下面详细介绍如何在TIA PORTAL中设置DB块中的变量数据为保持型或不保持。 ...

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

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

    技术文档--Db2

    Db2 是 IBM 提供的一款关系型数据库管理系统,尤其在企业级应用中广泛使用。本文将详细介绍在项目开发中使用 Db2 9.1 版本的一些常用命令,帮助开发者更好地理解和操作这个数据库系统。 1. **连接数据库** - `db2 ...

    DB9M DB9FDB9弯型直型针型孔型RS232串口接口AD集成3D封装库(原理图库+PCB封装库).zip

    DB9M DB9FDB9弯型直型针型孔型RS232串口接口AD集成3D封装库(原理图库+PCB封装库) 3dpcb封装列表如下: PCB Library : 串口.PcbLib Date : 2021/5/11 Time : 17:19:08 Component Count : 5 Component Name ---...

    深入探讨SQL_Server_表的主键问题

    为了解决这些问题,本文提出了一个解决方案:在存在主从关系的表中增加一个与业务逻辑无关的数值型字段作为主键。这通常是一个自增字段,保证了唯一性。在SQL Server中,可以创建一个IDENTITY列来实现这一功能,如:...

    matlab中的db小波

    在Matlab中,db小波(Daubechies小波)是一种广泛应用的离散小波变换函数,由Ingrid Daubechies首次提出。db小波具有紧支撑、正交性和良好的时间频率局部化特性,这使得它们在信号处理、图像分析、模式识别等领域有...

    Python+MongoDB自增键值的简单实现

    MongoDB作为一款非关系型数据库,不像传统的关系型数据库如MySQL那样提供内置的自增字段功能。然而,这并不意味着无法在MongoDB中实现自增功能。本文将详细介绍一种使用Python和MongoDB实现自增键值的简单方法。 ...

    OrientDB中文使用手册

    - **关系型数据库迁移**:指导如何从关系型数据库迁移到OrientDB。 - **备份与恢复**:详细介绍备份策略和恢复流程。 #### 九、OrientDB工具集 - **控制台工具**:用于执行日常管理和维护任务。 - **Web工具集**:...

    删除数据库的所有表、存储过程、主键、外键、索引等

    这个过程通常涉及删除数据库中的所有表、存储过程、主键、外键以及索引等对象。下面我们将详细探讨这些概念及其在数据库中的作用,以及如何安全有效地执行删除操作。 首先,让我们逐一了解这些数据库元素: 1. 表...

Global site tag (gtag.js) - Google Analytics