`
gdpglc
  • 浏览: 90879 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

用代理主键进行排序需要加小心

SQL 
阅读更多
主键我通常使用自增形式的长整数。
今天遇到一个情况,客户要用sql导入一些老数据,这些老数据插入后,生成了最新的主键,但是日期却是老的。

由此我想到,以前的代码里有用主键进行新老记录排序的作法。

对于可能出现这样情况的表,这种做法会带来错误的结果。

应用程序的表通常是程序私用的,因此用主键大小区分新老记录通常是安全的。
分享到:
评论

相关推荐

    实体、范式、业务代理复合主键、关系理解分析

    在IT行业中,数据库设计是构建高效、稳定系统的关键部分,其中实体、范式、业务代理复合主键以及关系的理解和分析至关重要。以下是对这些概念的详细解析。 首先,"实体"是数据库设计中的基本概念,它代表现实世界中...

    hibernate联合主键全攻略

    - **查询**:使用`createCriteria()`结合`Restrictions.eq()`等条件过滤器进行查询,注意当查询联合主键的一部分时,可能需要额外处理以避免结果集的不确定性。 #### 4. 特别注意事项 - 在使用联合主键时,确保...

    hibernate 无主键表映射

    `@Embeddable`注解用于定义一个包含复合主键字段的类,而`@EmbeddedId`注解则用在实体类上,指定这个复合主键类。 以下是一个简单的示例: 1. **复合主键类(Composite Key Class)** ```java import javax....

    数据库主键生成资料资源

    2. 时间戳:使用当前时间戳(精确到毫秒)作为主键,能保证唯一性,但可能不适用于需要排序或按时间顺序检索的场景。 3. UUID/GUID:全局唯一标识符,无论在哪个数据库或服务器上创建,都能保证唯一。不过,UUID...

    使用ODI处理没有主键的表全攻略

    本篇将探讨在没有主键的情况下,如何有效地使用ODI进行数据处理。 一、问题背景 ODI的日志功能和增量刷新机制依赖于主键,以便跟踪和处理数据的变化。对于像HR模块中使用ID和有效开始日期、结束日期组合成复合唯一...

    eos开发中的联合主键使用

    当单一字段无法唯一标识一条记录时,就需要使用联合主键。例如,一个用户可能有多个账户,每个账户都有用户名和账户类型,那么在这种情况下,可以将“用户名”和“账户类型”作为联合主键,确保每条记录的唯一性。 ...

    hibernate复合主键配置和使用

    然而,当我们面临复杂的数据表结构,尤其是涉及到复合主键时,如何在Hibernate中进行配置和使用就显得尤为重要。本文将深入探讨Hibernate对复合主键的支持,帮助开发者更好地理解和应用这一特性。 一、什么是复合...

    Hibernate主键生成方式

    在Java的持久化框架Hibernate中,主键生成策略是一个关键的概念,它决定了如何为数据库中的实体对象生成唯一的标识符(主键)。以下是关于Hibernate主键生成方式的详细说明: 1. **Identity方式**:`...

    数据库中表的主键设计原则收藏.doc

    这条其实是非常重要,有人就是觉得编号本身是唯一的,可以作为主键用,但可能会为以后带来麻烦。因为带有实际意义的字段,还是存在被修改的可能性。而对于主键最大的忌讳就是修改主键,这可能会导致非常严重的不可...

    datagridview设置行的主键

    在使用DataGridView进行数据操作时,如果直接根据索引进行删除操作,当用户调整了行的顺序时,可能会导致误删。因为行的索引值在调整顺序后并不会改变,所以按照原始索引删除会导致逻辑上的不一致。 #### 2. 解决...

    数据库主键的五种设计方法

    优点是效率很高,在 .NET 里可以直接使用 System.Guid.NewGuid() 进行生成,在 SQL 里也可以使用 NewID() 生成。 主键设计是一件非常重要的事情,它可以影响数据库的性能和可扩展性。在选择主键设计方法时,我们...

    Hibernate复合主键

    Hibernate复合主键是指在 Hibernate 框架中使用复合主键来唯一标识一个实体。复合主键是指由多个字段组成的主键,用于唯一标识一个实体。在本例中,我们将通过一个简单的复合主键的做关联类的例子来说明 Hibernate ...

    JPA_5_联合主键

    使用联合主键的实体在进行CRUD(Create, Read, Update, Delete)操作时,需要注意以下几点: - **创建**:在创建新的实体时,必须为联合主键的所有字段提供值。 - **查询**:查询通常基于联合主键的所有字段进行,...

    持久化类主键生成策略+例子

    需要预先定义一个序列对象,然后由JPA在插入新记录时使用。 4. **`GenerationType.TABLE`**:使用一个单独的数据库表来生成主键值,适用于多线程环境,避免了序列和Identity策略可能遇到的并发问题。 ### ...

    activit5的主键问题

    所以,我们只需要针对配置文件进行主键策略的替换即可。 一种解决方案是使用 UUID 生成策略。UUID 是一种通用的唯一标识符,可以用来生成唯一的主键。Activiti 本身的 id 字段也支持 UUID 算法来生成主键。我们可以...

    数据库主键设计之思考

    数据库主键设计之思考 在数据库设计中,主键的设计是非常重要的。主键的存在代表着表结构的完整性,...主键的设计是非常重要的,我们需要根据实际情况选择合适的主键设计方法,以确保我们的数据库设计更加完整和合理。

    hibernate复合主键设置

    当单一的字段无法唯一标识一条记录时,就需要使用复合主键。例如,如果有一个订单表,其中订单号和产品ID共同决定了订单项的唯一性。 二、Hibernate中的复合主键 在Hibernate中,复合主键通过`@Embeddable`和`@...

    关于主键的添加、更换、删除的总结

    ### 关于主键的添加、更换、删除的总结 #### 主键的概念 在数据库中,主键(Primary Key)是一种特殊的唯一标识符,用于...需要注意的是,在进行主键相关的操作时,一定要谨慎小心,以免造成数据丢失或不一致等问题。

    ssh多主键插入

    本文将围绕“ssh多主键插入”这一主题,深入探讨如何在Struts、Spring和Hibernate(SSH框架)中实现对具有多主键结构的数据表进行插入操作。我们将基于提供的代码片段,详细解析实现过程中的关键步骤和技术要点。 #...

    JPA注解实现联合主键

    在关系型数据库中,单个字段作为主键的情况较为常见,但在某些场景下,我们需要使用多个字段共同作为主键来唯一标识表中的每一条记录,这就是所谓的“联合主键”。而在Java持久化框架(Java Persistence API,简称...

Global site tag (gtag.js) - Google Analytics