Mysql疑難報錯排查 - Field ‘XXX‘ doesn‘t have a default value

項目場景:

數據庫環境 :mysql8;
工程使用:MyBatisPlus
表情況
在這里插入圖片描述


問題描述

某一個插入語句使用了 MyBatisPlus 的 save 方法,因為end_time1 end_time2都并沒有值,所以在MyBatisPlus默認情況下,并不會在插入語句中提及,

最終提取其SQL: INSERT INTO aaaa (serial_no, business_date, market_no, report_code)
VALUES (31, 20230704, 1, ‘688610’)

結果報錯 Field 'end_time1' doesn't have a default value
在這里插入圖片描述
一般情況下,這種報錯是表設置成非空字段,我們又沒設置默認值導致的。但是這里我們明明表中設置了可空。而且該場景為偶現,我們單獨把SQL提取出來執行又是可以的,排查數小時無果。


原因分析:

偶現,目前無法查出其原因,可能需要去Mysql源碼來看原因了


解決方案:

既然說的是沒有默認值,那我們就在插入的時候指定傳null 進去即可,由于MyBatisPlus的特性,所以最終在DBclass層,為end_time1和end_time2都設置為null 也插入和更新
在這里插入圖片描述
該參數的運行原理可見往期博文《MybatisPlus 構造器wrapper的使用與原理》 中的“易錯點-null處理”小節

最終生成的SQL如下:

INSERT INTO aaaa ( serial_no, business_date,
market_no, report_code, end_time1, end_time2 ) VALUES ( 63, 20230704,
1, ‘688610’, , )

修復后沒有再次報錯。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/23237.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/23237.shtml
英文地址,請注明出處:http://en.pswp.cn/web/23237.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何使自己寫的代碼易讀易懂?

〓● 如果代碼可讀性不佳、不容易理解,可能造成如下問題: 〓? 其他工程師浪費時間解讀它; 〓? 誤解導致引入缺陷; 〓? 其他工程師修改時破壞代碼。 〓● 提高代碼可讀性,有時候可能使其變得更為冗長、占用更多的…

【Python】深入認識Python數據類型和變量

???? 文章目錄 1. 引言數據類型的重要性Python中的數據類型概述 2. 數字類型整型(int)浮點型(float)復數(complex) 3. 字符串類型字符串的定義與使用字符串操作方法 4. 布爾類型布爾值和布爾運算 5. 列…

docker網絡詳解

1. 網絡模式 1.1 網絡結構 當安裝Docker以后,會自動創建三個網絡。可以使用docker network ls命令列出這些網絡。 $ docker network ls NETWORK ID NAME DRIVER SCOPE 440aefe8afa3 bridge bridge local aa8d6325580f host host …

02JAVA字符串和集合

1.字符串 1.String 介紹: String在java.lang包下,使用不需要導包,String代表字符串,帶""字符串都是String類的對象 字符串的特點: 字符串不可變,他們的值在創建后不能被改變 字符串效果相當于(char[]),底層原理是字節數組(byte[]) String構造方法: String 變量名 ne…

chat-glm4,qwen1.5性能對比

modelMMLUC-EvalGSM8KHumanEvalglm-4-9b74.777.184.070.1qwen1.5-7b6174.162.536.0qwen1.5-14b67.678.770.137.8 數據來源是以下兩個圖。可以看到GLM4非常優秀,qwen應該也快要開源自己的新模型了,希望國內的大模型團隊能夠繼續堅持,持續努力&…

AI框架之Spring AI與Spring Cloud Alibaba AI使用講解

文章目錄 1 AI框架1.1 Spring AI 簡介1.2 Spring AI 使用1.2.1 pom.xml1.2.2 可實現的功能 1.3 Spring Cloud Alibaba AI1.4 Spring Cloud Alibaba AI 實踐操作1.4.1 pom.xml1.4.2 配置文件1.4.3 對接文本模型1.4.4 文生圖模型1.4.5 語音合成模型 1 AI框架 1.1 Spring AI 簡介…

NSSCTF-Web題目5

目錄 [SWPUCTF 2021 新生賽]error 1、題目 2、知識點 3、思路 [LitCTF 2023]作業管理系統 1、題目 2、知識點 3、思路 [HUBUCTF 2022 新生賽]checkin 1、題目 2、知識點 3、思路 [SWPUCTF 2021 新生賽]error 1、題目 2、知識點 數據庫注入、報錯注入 3、思路 首先…

淺談InoDB中的行級鎖

行級鎖的類型: Record Lock,記錄鎖,僅僅把?條記錄鎖上,記錄鎖分為排他鎖和共享鎖。Gap Lock,間隙鎖,鎖定?個范圍,但是不包含記錄本身,只存在于可重復讀隔離級別,?的是…

Oracle 重置system用戶的密碼

荊軻刺秦王 如果您忘記了Oracle數據庫的密碼,可以通過以下步驟來重置密碼: Oracle 版本:linux 11g Release 11.2.0.4.0-64bit Froduction 1. 以SYSDBA權限登錄到數據庫。 conn / as sysdba 2. 停止數據庫實例。 shutdown immediate; 3…

vue 文件預覽mp4、txt、pptx、xls、xlsx、docx、pdf、html、xml

vue 文件預覽 圖片、mp4、txt、pptx、xls、xlsx、docx、pdf、html、xml 最近公司要做一個類似電腦文件夾的功能,支持文件夾操作,文件操作,這里就不說文件夾操作了,說說文件預覽操作,本人是后端java開發,前端vue&#…

Nginx通過轉發代理解決跨域問題

前后端分離開發WEB端(瀏覽器),不可避免的就是要解決跨域問題,因為這是瀏覽器的一種安全機制,當請求的(1)域名、(2)端口、(3)協議 。其中的一項與源…

MySQL如何多表關聯更新

在 MySQL 中,多表關聯更新可以使用 UPDATE 語句與 JOIN 子句結合來實現。以下是一個多表關聯更新的基本示例: 基本語法 UPDATE table1 JOIN table2 ON table1.column = table2.column SET table1.column = new_value, table2.column = new_value WHERE condition;

Linux系統安裝APITable詳細流程與遠程訪問本地平臺數據分析

文章目錄 前言1. 部署APITable2. cpolar的安裝和注冊3. 配置APITable公網訪問地址4. 固定APITable公網地址 💡推薦 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。【點擊跳轉到網站】 前言 v…

AMD顯卡和英偉達顯卡哪個好?

顯卡是計算機中負責處理圖形和視頻輸出的硬件設備,主要分為兩種類型:AMD的A卡和NVIDIA的N卡。那么AMD顯卡和英偉達顯卡哪個好?怎么選? 答:不能一概而論地說哪個好,因為它們各有優勢,選擇應基于…

listbox有scrollviewer,點擊后不會觸發selectionchanged事件

這個問題是因為在ListBox中的ScrollViewer處于焦點狀態時,SelectionChanged事件沒有觸發。這通常是因為ScrollViewer在處理鼠標事件時會優先于ListBox。 為了解決這個問題,可以通過以下方法來確保SelectionChanged事件在ListBox中被觸發: 在…

RE_RC4加密

之前做的幾道題目,rc4也是經常遇到,今來系統學學,記錄一下 對稱加密,即加密和解密的密鑰可以相互推導,也有的是相同的。 RC4 是以字節流處理每一個字節,而不是 DES 的分組操作。 包含三個參數&#xff1…

探索通信技術的未來:2024中國通信技術和智能裝備產業博覽會

探索通信技術的未來:2024通信技術產業專場 隨著信息技術的飛速發展,通信技術已成為現代社會不可或缺的基礎設施。2024年10月11日至13日,青島將迎來一場通信技術的盛會——2024中國軍民兩用智能裝備與通信技術產業博覽會。本次博覽會不僅將展…

面試(03)————多線程

目錄 一、線程和進程的區別? 二、并行和并發的區別? 三、線程創建的方式有哪些? 3.1、繼承Thread類 3.2、實現Runnable接口 3.3、實現Callable接口 3.4、線程池 四、Runnable和Callable的區別? 五、在啟動線程的時候&am…

使用packstack快速部署OpenStack

目錄 資源列表 基礎環境 安裝packstack 安裝OpenStack 本文記錄了基于CentOS操作系統使用packstack快速部署openstack。 資源列表 操作系統配置磁盤IP數量CentOS7.94C8G50G192.168.207.1551 基礎環境 服務器開啟虛擬化,我這里使用的是VMware虛擬機&#xff0…

Redis教程(二十二):Redis的過期刪除和緩存淘汰策略

傳送門:Redis教程匯總篇,讓你從入門到精通 一、過期刪除策略 Redis 中的過期刪除策略是與 Redis 管理鍵的生命周期相關的一系列操作,用于刪除過期的Key以釋放內存。Redis 提供了三種主要的過期刪除策略: 1、惰性刪除(Lazy Expiration) 工作原理:當客戶端嘗試訪問一個…