Java Ucanaccess 将数据插入表中忽略重复记录(主键)

标签 java ucanaccess

大家下午好, 我正在尝试将一些数据插入访问表,但由于主键违规而无法运行

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

import net.ucanaccess.jdbc.UcanaccessSQLException;

public class teste {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // TODO Auto-generated method stub

        try
        {
            String Query = "INSERT INTO 005_DADOS_HISTORICOS ( DT_ARQUIVO, UF_LIC, CHASSI, NM_FILE, DT_EXEC_ROBO, TEMPO_DECORRIDO, RESULTADO_FINAL ) SELECT DT_ARQUIVO, UF_LIC, CHASSI, NM_FILE, DT_EXEC_ROBO, TEMPO_DECORRIDO, RTrim(LTrim(Replace(Replace([RESULTADO_ROBO],\"*\",\"\"),\"=\",\"\"))) FROM 003_DADOS_TRATATIVA;";
            baseDados.updateAccess("C://BOT_REENVIO_DETRAN//database.accdb", Query);
            System.out.println("Dados Inseridos");
        }       
        catch (Exception e) {
            System.out.println(e);
        }

    }

错误:

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.0.4 integrity constraint violation: unique constraint or index violation; SYS_PK_10577 table: Z_005_DADOS_HISTORICOS

如何插入独占记录并忽略重复记录?

最佳答案

您正尝试向数据库添加现有条目,但该操作不起作用,因为表中的列是唯一的,这意味着您无法添加重复的条目。

您不能忽略重复的条目。 所以你必须改变你的表定义

请检查此unique sql

关于Java Ucanaccess 将数据插入表中忽略重复记录(主键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60643153/

相关文章:

java - 根据 SOLID 的冗余

java - 如何模拟第 3 方代码的 protected 方法

java - "Generate entities from table"(MS Access) 在 Eclipse 中通过 UCanAccess

java - "AFTER"不支持使用ucanaccess ALTER TABLE?

未设置java sql异常参数

java - 使用 UCanAccess 插入 ResultSet 时出现 "all columns must be set before insert"错误

java - java中的跳过列表

Javafx - 任务 ':run' 执行失败

java - 将字符串从一种方法传递到另一种方法

java - INSERT INTO 在 Ucanaccess 中给出错误