MySQL升級過程中的一些心得-2

xuexiaogang發表於2021-12-27

個人公眾號原文連結:

https://mp.weixin.qq.com/s/nCE54jUCpwcT26t-IkyzFA


繼昨天問題後,今天再說一個問題。開發提出原來在5.7中是好的一個功能,在8不行了。我問是什麼?回答說一個有預設值的欄位,且不能為空。現在給他一個空。聽到這裡我說應該報錯啊。因為設計的要求就是不能空,如果沒有預設值給預設值,如果有值寫入該有的值。

      開發說不是的,以前不報錯。我模擬了一下,的確沒有。

      這種說嚴重點我覺得是bug。說寬鬆點我認為是不嚴謹。


我再看看8的,不出我所料。報錯了。

這才是符合邏輯的。

我想表達一下,看上去是升級後出現了問題。但是我覺得鍋不在資料庫上有bug導致,而恰恰相反,原來是有bug的,或者說不夠嚴謹的。官方修復了Bug或者說是的資料更加規範,更加嚴謹了。

      

       資料庫升級看來保證了規範和質量,之前不規範和擦邊球的問題都會暴露出來。藉此也算是逐步發現問題暴露出來吧。


        後續看看其他資料庫在這個嚴謹性上如何?至少我記得Oracle上是不允許給字串型別欄位寫入時間資料,反之也是。其實規範是為了讓使用的更好,減少錯誤。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2849612/,如需轉載,請註明出處,否則將追究法律責任。

相關文章