欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決MySQL讀寫分離導(dǎo)致insert后select不到數(shù)據(jù)的問題

 更新時(shí)間:2020年12月01日 15:20:08   作者:阿布QAQ~  
這篇文章主要介紹了解決MySQL讀寫分離導(dǎo)致insert后select不到數(shù)據(jù)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

MySQL設(shè)置獨(dú)寫分離,在代碼中按照如下寫法,可能會(huì)出現(xiàn)問題

// 先錄入
this.insert(obj); 
// 再查詢
Object res = this.selectById(obj.getId());
res: null;

線上的一個(gè)坑,做了讀寫分離以后,有一個(gè)場(chǎng)景因?yàn)橄敕椒◤?fù)用,只傳入一個(gè)ID就好,直接去庫(kù)里查出一個(gè)對(duì)象再做后續(xù)處理,結(jié)果查不出來(lái),事務(wù)隔離級(jí)別各種也都排查了,最后發(fā)現(xiàn)是讀寫分離的問題,所以換個(gè)思路去實(shí)現(xiàn)吧。

補(bǔ)充知識(shí):MySQL INSERT插入條件判斷:如果不存在則插入

我們經(jīng)常需要進(jìn)行sql的批量插入,要求:該條記錄不存在則插入,存在則不插入。如果使用一條INSERT語(yǔ)句實(shí)現(xiàn)呢?

對(duì)于普通的 INSERT 插入,如果想要保證不插入重復(fù)記錄,我們只有對(duì)某個(gè)字段創(chuàng)建唯一約束實(shí)現(xiàn);

那有沒有不創(chuàng)建唯一約束,僅通過(guò) INSERT INTO 一條語(yǔ)句實(shí)現(xiàn)的方案呢?

答:使用 INSERT INTO IF EXISTS, 具體語(yǔ)法如下

INSERT INTO table(field1, field2, fieldn) 
SELECT 'field1', 'field2', 'fieldn' 
FROM DUAL
WHERE NOT EXISTS(SELECT field FROM table WHERE field = ?)

例:

INSERT INTO a (order_id, operator, oper_date, memo) 
SELECT '3', 'onion3', '2017-11-28', '測(cè)試3' 
from DUAL 
where not exists(select order_id from a where operator='onion3' and memo = '測(cè)試3'); 

以上這篇解決MySQL讀寫分離導(dǎo)致insert后select不到數(shù)據(jù)的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • mysql 5.7.17 winx64安裝配置圖文教程

    mysql 5.7.17 winx64安裝配置圖文教程

    這篇文章主要為大家分享了mysql 5.7.17 winx64安裝配置方法圖文教程,感興趣的朋友可以參考一下
    2017-01-01
  • MySql 5.6.36 64位綠色版安裝圖文教程

    MySql 5.6.36 64位綠色版安裝圖文教程

    這篇文章主要介紹了MySql 5.6.36 64位綠色版安裝圖文教程,需要的朋友可以參考下
    2017-05-05
  • 一次Mysql?update?sql不當(dāng)引起的生產(chǎn)故障記錄

    一次Mysql?update?sql不當(dāng)引起的生產(chǎn)故障記錄

    這篇文章主要給大家介紹了關(guān)于一次Mysql?update?sql不當(dāng)引起的生產(chǎn)故障的相關(guān)資料,由于update涉及到數(shù)據(jù)的修改,所以很容易推斷,update語(yǔ)句比select語(yǔ)句會(huì)更復(fù)雜一些,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • MySQL中DML添加數(shù)據(jù)insert的操作方法

    MySQL中DML添加數(shù)據(jù)insert的操作方法

    DML英文全稱Data Manipulation Language數(shù)據(jù)操作語(yǔ)言,用來(lái)對(duì)數(shù)據(jù)庫(kù)中表的數(shù)據(jù)記錄進(jìn)行增、刪、改在實(shí)際開發(fā)過(guò)程中使用比較多,務(wù)必掌握操作,這篇文章主要介紹了MySQL中DML添加數(shù)據(jù)insert的操作方法,需要的朋友可以參考下
    2023-07-07
  • oracle/mysql數(shù)據(jù)庫(kù)多條重復(fù)數(shù)據(jù)如何取最新的

    oracle/mysql數(shù)據(jù)庫(kù)多條重復(fù)數(shù)據(jù)如何取最新的

    最近開發(fā)的時(shí)候遇到一個(gè)任務(wù),需要對(duì)重復(fù)的數(shù)據(jù)進(jìn)行篩選,只取插入時(shí)間最早的一條數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于oracle/mysql數(shù)據(jù)庫(kù)多條重復(fù)數(shù)據(jù)如何取最新的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • 深入MySQL存儲(chǔ)引擎比較的詳解

    深入MySQL存儲(chǔ)引擎比較的詳解

    本篇文章是對(duì)MySQL存儲(chǔ)引擎的比較進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Centos7下安裝MySQL8.0.23的步驟(小白入門級(jí)別)

    Centos7下安裝MySQL8.0.23的步驟(小白入門級(jí)別)

    這篇文章主要介紹了Centos7下安裝MySQL8.0.23的步驟(小白入門級(jí)別),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • mysql 報(bào)錯(cuò) incompatible with sql_mode=only_full_group_by解決

    mysql 報(bào)錯(cuò) incompatible with sql_mode=only

    這篇文章主要為大家介紹了mysql 報(bào)錯(cuò) incompatible with sql_mode=only_full_group_by解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • MySQL?Server?層四個(gè)日志詳解

    MySQL?Server?層四個(gè)日志詳解

    這篇文章主要介紹了MySQL?Server?層四個(gè)日志,包括錯(cuò)誤日志,查詢?nèi)罩?,二進(jìn)制日志及慢查詢?nèi)罩?,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • MySQL動(dòng)態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲(chǔ)過(guò)程

    MySQL動(dòng)態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲(chǔ)過(guò)程

    MySQL動(dòng)態(tài)創(chuàng)建表,數(shù)據(jù)分表的存儲(chǔ)過(guò)程,需要的朋友可以參考下。
    2011-08-08

最新評(píng)論