實(shí)例驗(yàn)證MySQL|update字段為相同的值是否會(huì)記錄binlog
一 前言
前幾天一個(gè)開(kāi)發(fā)同事咨詢(xún)我,update 更新字段為相同的值是否會(huì)記錄binlog,我回復(fù)說(shuō)不會(huì)。
其實(shí) 嚴(yán)格的說(shuō)這個(gè)答案是不準(zhǔn)確的,說(shuō)要區(qū)分場(chǎng)景。是否記錄 update 語(yǔ)句到binlog依賴(lài)于 binlog_format 的設(shè)置。具體情況 實(shí)踐出真知。
二 測(cè)試
2.1 binlog_format 為 ROW 模式
2.2 binlog_format 為 STATEMENT 模式
解析binlog內(nèi)容,完整的記錄了update語(yǔ)句。
2.2 binlog_format 為 MIXED 模式
當(dāng) row_format 為mixed或者statement格式是,binlog 的大小發(fā)生改變,不管是否真的更新數(shù)據(jù),MySQL都記錄執(zhí)行的sql 到binlog。
三 小結(jié)
基于row模式時(shí),server層匹配到要更新的記錄,發(fā)現(xiàn)新值和舊值一致,不做更新,就直接返回,也不記錄binlog。
基于 statement 或者 mixed格式,MySQL執(zhí)行 update 語(yǔ)句,并把更新語(yǔ)句記錄到binlog。
那為什么問(wèn)題來(lái)了 statement 和 mixed 會(huì)完整的記錄sql語(yǔ)句呢?且聽(tīng)下回分解吧,因?yàn)槲乙馕鲈创a,使用Clion 編譯MySQL 調(diào)試環(huán)境還沒(méi)成功。
以上就是實(shí)例驗(yàn)證MySQL|update字段為相同的值是否會(huì)記錄binlog的詳細(xì)內(nèi)容,更多關(guān)于MySQL update字段的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MySQL定時(shí)備份數(shù)據(jù)庫(kù)(全庫(kù)備份)的實(shí)現(xiàn)
本文主要介紹了MySQL定時(shí)備份數(shù)據(jù)庫(kù)(全庫(kù)備份)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09Windows下MySQL 5.6安裝及配置詳細(xì)圖解(大圖版)
這篇文章主要介紹了Windows下MySQL 5.6安裝及配置詳細(xì)圖解(大圖版),需要的朋友可以參考下2016-04-04mysql 5.7.21 winx64免安裝版配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了mysql 5.7.21 winx64免安裝版配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02MySQL與PHP的基礎(chǔ)與應(yīng)用專(zhuān)題之?dāng)?shù)據(jù)完整性
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL?AB?公司開(kāi)發(fā),屬于?Oracle?旗下產(chǎn)品。MySQL?是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎(chǔ)應(yīng)用,本篇從數(shù)據(jù)完整性開(kāi)始2022-02-02mysql實(shí)現(xiàn)將date字段默認(rèn)值設(shè)置為CURRENT_DATE
這篇文章主要介紹了mysql實(shí)現(xiàn)將date字段默認(rèn)值設(shè)置為CURRENT_DATE問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07mysql ERROR 1045 (28000)問(wèn)題的解決方法
這篇文章主要介紹了mysql ERROR 1045 (28000)問(wèn)題的解決方法,文中步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10Mysql觸發(fā)器在PHP項(xiàng)目中用來(lái)做信息備份、恢復(fù)和清空
這篇文章主要介紹了Mysql觸發(fā)器在PHP項(xiàng)目中用來(lái)做信息備份、恢復(fù)和清空的相關(guān)資料,需要的朋友可以參考下2017-11-11mysql-5.7.42升級(jí)到mysql-8.2.0(二進(jìn)制方式)
隨著數(shù)據(jù)量的增長(zhǎng)和業(yè)務(wù)需求的變更,我們可能需要升級(jí)MySQL,本文主要介紹了mysql-5.7.42升級(jí)到mysql-8.2.0(二進(jìn)制方式),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03Ubuntu上安裝MySQL+問(wèn)題處理+安全優(yōu)化
這篇文章主要匯總介紹了Ubuntu上安裝MySQL+問(wèn)題處理+安全優(yōu)化的相關(guān)事項(xiàng),非常的細(xì)致全面,有需要的小伙伴可以參考下2016-03-03