MySQL中可能忽視的幾個細節問題

2021-08-27 10:45:03 字數 563 閱讀 5432

從sql server轉型到mysql的過程中,我發現對sql server的dba來說,使用mysql時有些容易忽略的問題。先整理了幾個:

二、關於自增長列:

1、 自增長列可能不是唯一的。mysql在建立表時,要求auto_crement的字段必須是key,但並不要求是唯一索引,因此如果只將自增長列定義為普通的索引,則可以在裡面插入重複的自增id。

2、當自增長列超過字段型別允許的上限時,獲取到的值就是允許的最大值。比如定義為tinyint的自增長,當增長到127時達到上限,繼續插入資料,獲取到的值仍然是127。這時如果自增長是主鍵或有唯一約束,則會插入報錯;否則,會有重複的127值插入。

三、關於儲存過程的definer:(如果不指定definer,則儲存過程的definer就是建立者)除非在建立儲存過程時顯式指定sql security為invoker,否則預設情況下儲存過程執行時就是以definer的許可權執行。也就是說,

當definer有足夠許可權的時候,任何使用者只要有執行儲存過程的許可權,就可以成功執行儲存過程中的任何內容。並且,如果definer的使用者在mysql裡不再存在,那麼儲存過程的執行就會出錯。

程式設計中易忽視的細節

在ide環境中,使我們在程式設計中減少了很多手工敲 的錯誤,但是一些細節還是不容忽視的。這也恰恰是我們在程式設計中產生的bug。假設語法沒有錯誤的前提下,我們又經常會有哪些錯誤呢?1 宣告了變數沒有使用過 2 在反覆修改 時候產生遺漏的地方 3 全域性變數和區域性變數命名規範問題,有時候自己隨便命名...

毛紅亮 SEO中容易被忽視的幾個小細節

今天給大家補充一下 做seo的細節問題。seo需要實踐,更需要進行長期的分析,跟蹤,大致上的優化rfmrnnzygd方法網路上已經有了太多,主要還是要靠你的執行能力,本人在長期的seo優化當中也掌握了不少細節上的問題。對於剛剛接觸seo優化的站長來說,或許會忽略掉這些seo優化的細節,只有多注意,多...

C reference 那些容易被忽視的細節

工作之餘做個小結。te為實體型別,td為推斷型別 引用建立時即初始化賦值。作為函式引數時,程式進入函式就已經初始化完畢。注意區分值與值的引用。一旦創造了te t右值引用便有了別名,t的行為變成左值 傳入td 模板為左引用,但t列印出的型別依然為右值引用是別名,構造好的引用可當作自身,引用之間的非初始...