`

MySQL插入数据时,如果记录不存在则insert,如果存在则update

 
阅读更多

第一步,将数据表不能重复的字段设置唯一索引(例如pro_name不能重复则为其设置唯一索引)

 

第二步,运行以下参考语句

 

 

/**************************从预算获取******************************/

/*INSERT INTO bus_pro_base_info  

(id, `subject_code`, `subjectl_name`, `office_name`, `pro_name`, `pro_code`, `budgetary_money`, `review_money`, org_id, org, dept_id, dept_name, attribute01, create_date, create_by) 

SELECT 

REPLACE(UUID(),'-',''), bu.subject_code, bu.subjectl_name, bu.office_name, bu.pro_name, bu.pro_code, bu.review_value, bu.reviewed_value, 

bu.org_id, bu.org, bu.dept_id, bu.dept_name, "来自预算", bu.create_date, bu.create_by 

FROM bus_pro_budget_approval bu

on duplicate key update 

subject_code = bu.subject_code, subjectl_name = bu.subjectl_name, office_name = bu.office_name, pro_name = bu.pro_name, pro_code = bu.pro_code, 

budgetary_money = bu.review_value, review_money = bu.reviewed_value, org_id = bu.org_id, org_id = bu.org_id, 

org = bu.org, dept_id = bu.dept_id, dept_name = bu.dept_name, attribute01 = "来自预算";*/

 

/**************************从结算算获取******************************/

/*INSERT INTO bus_pro_base_info  

(id, `subject_code`, `subjectl_name`, `office_name`, `pro_name`, `pro_code`, `company`, `check_money`, final_money, org_id, org, dept_id, dept_name, attribute02, create_date, create_by) 

SELECT 

REPLACE(UUID(),'-',''), c.subject_code, c.subjectl_name, c.office_name, c.pro_name, c.pro_code, c.build_unit, c.subtract_money, c.final_money,

c.org_id, c.org, c.dept_id, c.dept_name, "来自结算", c.create_date, c.create_by 

FROM bus_pro_closeapprove c

on duplicate key update 

subject_code = c.subject_code, subjectl_name = c.subjectl_name, office_name = c.office_name, pro_name = c.pro_name, pro_code = c.pro_code, 

company = c.build_unit, check_money = c.subtract_money, final_money = c.final_money, org_id = c.org_id, attribute02 = "来自结算";*/

 

/*SELECT count(*) FROM bus_pro_base_info WHERE attribute01 = '来自预算' ;*/

/*SELECT * FROM bus_pro_base_info WHERE attribute01 IS NULL && attribute02 IS NULL;*/

/*SELECT * FROM bus_pro_base_info WHERE attribute01 IS  NOT NULL OR attribute02 IS NOT NULL;*/

分享到:
评论

相关推荐

    mysql如何实现 如果存在就update更新,不存在再insert插入.zip

    在MySQL数据库中,如果你需要执行一个操作,即当数据存在时进行更新,如果不存在则进行插入,你可以使用`INSERT INTO...ON DUPLICATE KEY UPDATE`语句。这个功能强大的语句结合了`INSERT`和`UPDATE`操作,允许你在...

    mysql如果数据不存在,则插入新数据,否则更新的实现方法

    MySQL 实现数据不存在则插入新数据,否则更新的方法 ...Replace Into 语句删除然后插入新数据,而 Insert Into … On Duplicate Key Update 语句则尝试插入新数据,如果已经存在相同的记录,则更新该记录。

    mysql 记录不存在时插入 记录存在则更新的实现方法

    在MySQL中,有时候我们需要在确保记录不存在的情况下插入新数据,如果记录已经存在,则需要更新已有数据。这种操作通常被称为“Upsert”或者“Insert...On Duplicate Key Update”。MySQL提供了这样的功能,但要注意...

    国家开放大学 MySQL数据库应用 实验训练3 数据增删改操作

    实验中,学生将学习使用 Insert 语句进行数据插入、Delete 语句删除数据、TRUNCATE TABLE 语句清空表数据、Update 语句修改数据。 1. 数据插入操作 在实验中,学生将学习使用 Insert 语句插入数据,包括单记录插入...

    MySQL唯一索引重复插入数据解决方案总结.docx

    MySQL 唯一索引重复插入数据解决方案总结是指在 MySQL 中遇到唯一索引重复插入数据时的解决方案,可以使用 ignore 语句或 on duplicate key update 语句来解决该问题,并且可以根据具体情况选择合适的解决方案。

    insert,update导出sql语句

    它们分别用于向数据库中插入新的数据和更新已存在的数据。这篇内容将详细解释这两个SQL语句的工作原理、用法以及如何导出这些语句,以供日后使用或备份。 首先,我们来看INSERT语句。INSERT语句用于向数据库的表中...

    mysql插入、修改、删除-实训训练3.docx

    在插入数据时,我们需要了解如何使用 Select 语句来检查插入前的记录情况,并且学会使用 Insert 语句的不同方式来插入数据。 实验 3-2:删除数据 在本实验中,我们将学习如何使用 Delete 语句删除数据。Delete ...

    实验训练3数据增删改操作.docx

    在本实验训练中,主要涉及的是关系型数据库管理系统MySQL中的数据操作,包括数据的增加(Insert)、删除(Delete)和修改(Update),这些都是数据库管理的基础且重要的操作。实验旨在加深对这些SQL语句的理解和应用...

    update mysql with c++

    对于“update mysql”,我们可能需要使用`UPDATE`语句来修改现有记录,例如更新图片的相关元数据。 3. **处理结果集**:如果SQL操作返回结果集,如`SELECT`查询,我们可以使用`mysql_store_result()`或`mysql_use_...

    mysql 原生语句中save 的写法汇总.docx

    在 MySQL 中,我们可以使用 ON DUPLICATE KEY UPDATE 关键字来实现数据不存在则插入,存在则更新的操作。判断数据重复的逻辑依然是主键冲突或者唯一键冲突。 例如,以下是使用 ON DUPLICATE KEY UPDATE 关键字的...

    mysql数据库Insert语句后面加ON DUPLICATE KEY UPDATE,保证唯一性1

    当你在`INSERT`语句后添加`ON DUPLICATE KEY UPDATE`,如果新插入的行违反了唯一性约束,MySQL将执行指定的`UPDATE`操作。这里的“唯一性”指的是任何具有唯一索引或主键的列。例如,如果你有一个名为`consume_locus...

    MySQL中如何处理重复数据(Duplicate)?

    该语句在插入数据时,如果遇到唯一键冲突(即主键或有唯一索引的字段),则会执行更新操作。示例: INSERT INTO table_name (col1, col2, col3) VALUES (val1, val2, val3) ON DUPLICATE KEY UPDATE col1 = new_val...

    如何向mysql中插入数据?

    MySQL 数据库插入数据详解 MySQL 是一个关系型数据库管理系统,它的主要功能是存储和管理数据。要将数据插入 MySQL 数据库,需要遵循一定的步骤。下面将详细介绍如何向 MySQL 中插入数据。 首先,需要打开 MySQL ...

    mysql创建表向表中插入数据实例

    在MySQL数据库管理中,创建表和向表中插入数据是基本操作,对于初学者和专业开发者来说都是必不可少的技能。以下我们将详细讲解这些知识点,并通过给出的实例进行演示。 首先,我们创建一个名为`teacher`的表。创建...

    MYSQL插入中文解决方法

    同时,我们也需要在插入数据时指定正确的字符集,以免出现乱码问题。 MYSQL中的SQL语句是非常重要的,掌握这些语句可以帮助我们快速地管理和维护我们的数据库。MYSQL中的SQL语句包括数据库创建、表创建、数据插入、...

    MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解.pdf

    MySQL数据库的INSERT、UPDATE、DELETE和REPLACE语句是数据操作语言(DML)的关键组成部分,用于在数据库中创建、修改和删除数据。以下是对这些语句的详细说明: 1. INSERT语句: - INSERT语句用于向数据库表中添加...

    [mysql]mysql通过on duplicate key update实现批量插入或更新(csdn)————程.pdf

    在MySQL数据库中,`ON DUPLICATE KEY UPDATE` 是一个非常实用的特性,它允许你在执行INSERT语句时,如果插入的数据违反了唯一性约束(即存在相同的唯一索引),则自动执行UPDATE操作来更新已有记录。这个功能在处理...

    mysql 存在该记录则更新,不存在则插入记录的sql

    MySQL中的`ON DUPLICATE KEY UPDATE`语句是一个非常实用的功能,它允许你在插入新记录时检查是否存在相同的记录。如果存在,那么就更新已有记录;如果不存在,就插入新的记录。这个特性在处理配置文件或者需要确保...

    详解MySQL数据库insert和update语句

    MySQL数据库的插入(INSERT)和更新(UPDATE)语句是数据操作的重要组成部分,它们用于向数据库表中添加新数据和修改已有数据。SQL语言通常包括查询(SELECT)、更新(INSERT/UPDATE)、删除(DELETE)等基本操作。...

Global site tag (gtag.js) - Google Analytics