`

导入数据库中记录的时候,一定要记得检查主键是否惟一

阅读更多
数据库中存储的记录必须保证主键惟一,这是数据库的约束条件。

将记录存储到数据库中的时候,如果没有带主键的话,一般数据库都会生成惟一主键;但是,如果是将数据从一个数据库导入到另外的数据库,并且希望保证数据库主键相同的话,那么我们导入数据的时候,一定要记得检查数据库主键的唯一性。

错误代码:
		List result = new ArrayList();
		result.addAll(getNcRelatedProblem(projectIds));
		result.addAll(getDefectRelatedProblem(projectIds));
                return result;


因为在两个列表中包含相同的元素,因此,result这个List中的元素并不是惟一的。在JAVA中,Set中的元素是不相同的,而List中的元素是可以有包含相同的。所以,将此List导入到数据库中的时候会产生SQLException。

而解决这个问题也很简单:
HashSet set = new HashSet(result);
		return Arrays.asList(set.toArray());

首先new一个HashSet对象,去除期间相同的元素,然后将Set中的元素转换为List。
两步:
1. set.toArray
2. Arrays.asList()
分享到:
评论

相关推荐

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

    此外,GUID 的产生不是以一定的次序产生,对于按主键物理排序的数据库来说,如果在记录的前部插入一条记录,可能会导致后面 N 次方的数据条数后移。这将导致数据插入效率因此,GUID 的采用应该要慎重。 其次,是否...

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

    数据库主键设计的五种方法 数据库主键设计是数据库设计中一个非常重要的环节,好的主键设计可以提高数据库的性能和可扩展性。本文将介绍五种常见的主键设计方法,每种方法都有其优点和缺陷。 第一种:编号作主键 ...

    大数据Excel通过POI导入数据库通用设计方案

    【大数据Excel通过POI导入数据库通用设计方案】 大数据处理中,Excel作为常见的数据交换格式,其导入到数据库的需求频繁出现。为了提高效率并避免重复工作,本方案旨在提供一种通用的Excel导入策略,利用Apache POI...

    oracle数据库主键自动生成

    Oracle 数据库主键自动生成 在 Oracle 数据库中,主键自动生成是指在插入数据时自动生成唯一的主键值,从而简化数据录入和维护工作。下面将详细介绍 Oracle 数据库主键自动生成的实现方法和相关知识点。 序列...

    从一个数据库导入到另一个数据库中

    导入完成后,通过对比源数据库和目标数据库的记录数、主键和唯一索引等,验证数据完整性。 6. **后处理**:根据业务需求,可能需要触发一些后处理操作,比如重建索引、优化表结构或更新引用关系。 在实际操作中,...

    把Excel表中数据导入数据库

    - **数据重复问题**:为了避免数据重复插入,可以在执行导入操作前检查目标表中是否已存在相同记录。可以通过设置唯一索引或主键来自动防止重复数据。 - **数据不一致问题**:由于Excel和数据库之间可能存在数据类型...

    Access数据导入助手(从一个数据库导入到另一个数据库)

    这是因为自动编号字段通常作为主键存在,其值是由系统自动生成并唯一,导入数据可能会导致主键冲突,从而引发错误。因此,当处理包含自动编号字段的表时,应避免导入这些字段的数据,以免出现数据异常。 此外,...

    PPC大批量数据导入数据库SQLite

    标题中的“PPC大批量数据导入数据库SQLite”指的是使用PPC(可能是某种编程语言、工具或平台)将大量数据高效地加载到SQLite数据库中的过程。SQLite是一个轻量级的、自包含的、开源的关系型数据库管理系统,常用于...

    Excel中的数据如何导入到Access数据库中-.docx

    主键是数据库中唯一标识每条记录的字段,对于保持数据的一致性至关重要。Access提供了默认主键选项,如自动编号,或者你可以自定义主键,比如选择一个已有的唯一字段。如果数据不需要主键,也可以选择不设置。 完成...

    数据库主键设计原则.txt

    数据库主键设计原则 或许大家都设计过数据库,也为表定义过主键,今天我想阐述的是,应该如何正确的设计一个主键,在以往的一些资料中,都没有提及到主键设计的原则. 我为此总结了一下: 1.是否要采用GUID作为主键 用GUID...

    sqlite数据库文件的导入

    6. 数据验证:在导入后,需要对数据进行验证,确保数据完整性,比如检查主键的唯一性、数据类型的正确性等。 7. 数据备份和恢复:为了防止数据丢失,导入前后,可以考虑备份数据库,并了解如何使用SQLite的`.dump`...

    全国省、市、区、村居数据mysql数据库脚本直接导入(含表结构)

    综上所述,这个全国省市区村居数据MySQL数据库脚本是多领域工作的重要基础数据,通过`china_area.sql`文件导入数据库后,能够为各种基于地理位置的应用提供强有力的支持。正确管理和使用这些数据,将极大地提升业务...

    数据库,索引,主键,约束,sql

    在数据库中,索引、主键和约束是至关重要的概念,而SQL(Structured Query Language)则是与数据库交互的语言。 首先,索引是提高数据库查询速度的关键工具。它们类似于书籍的目录,使得数据库能够快速定位到特定的...

    将Excel数据导入android数据库DB文件

    本教程将指导你如何将Excel数据导入到Android应用的SQLite数据库.db文件中,以便在应用运行时能够访问和操作这些数据。我们将使用SQLite Expert Professional这款强大的SQLite数据库管理工具,该工具在提供的压缩包...

    神通数据库-数据库快速入门.pdf

    神通数据库的数据导入和导出向导是前台管理工具中的一个实用工具,其主要功能是进行神通数据库 与其它各种异构数据源之间数据的析取、转换以及合并。数据导入和导出工具支持的数据源包括:神通数据 库、Oracle、...

    打开和关闭主键(VB6.0代码编写)

    在VB6.0(Visual Basic 6.0)编程中,主键是数据库表中的一个或一组字段,用于唯一标识记录。主键的重要性在于它确保了数据的唯一性和完整性。在处理数据库操作时,有时我们需要打开和关闭主键,这通常是出于数据...

    MySql数据库学习记录.zip

    在“MySQL数据库学习记录.zip”这个压缩包中,可能包含了一个人在学习MySQL时积累的各种资料,如笔记、教程、实战项目等。下面我们将深入探讨MySQL数据库的一些关键知识点。 1. **基础概念**: - 数据库:存储和...

    kettle统计重复记录个数及明细

    在IT行业中,ETL(Extract, Transform, Load)是一个关键的过程,用于从各种数据源抽取数据,进行转换处理,然后加载到目标系统,如数据仓库或数据库。Kettle,也称为Pentaho Data Integration(PDI),是一款强大的...

    数据库面试题 word文档

    4. **主键**:主键是表中唯一标识每条记录的字段,不允许有重复值。创建主键的方法有两种,即通过创建唯一的索引(允许空值)或设置主键约束。因此,A选项和B选项分别对应正确答案。 5. **表的作用与创建**:表是...

    标识码唯一性检查

    - 使用唯一性约束:在数据库表定义时,为标识码字段添加UNIQUE约束,数据库系统会在插入新记录时自动检查是否违反唯一性。 - 定期检查:通过工具或脚本定期执行唯一性检查,及时发现并修复问题。 总之,"标识码唯一...

Global site tag (gtag.js) - Google Analytics