禁止構(gòu)建
分區(qū)表達(dá)式不支持以下幾種構(gòu)建:
存儲(chǔ)過(guò)程,存儲(chǔ)函數(shù),UDFS或者插件
聲明變量或者用戶變量
可以參考分區(qū)不支持的SQL函數(shù)
算術(shù)和邏輯運(yùn)算符
分區(qū)表達(dá)式支持+,-,*算術(shù)運(yùn)算,但是不支持DIV和/運(yùn)算(還存在,可以查看Bug #30188, Bug #33182)。但是,結(jié)果必須是整形或者NULL(線性分區(qū)鍵除外,想了解更多信息,可以查看分區(qū)類(lèi)型)。
分區(qū)表達(dá)式不支持位運(yùn)算:|,&,^,<<,>>,~ .
HANDLER語(yǔ)句
在MySQL 5.7.1之前的分區(qū)表不支持HANDLER語(yǔ)句,以后的版本取消了這一限制。
服務(wù)器SQL模式
如果要用用戶自定義分區(qū)的表的話,需要注意的是,在創(chuàng)建分區(qū)表時(shí)的SQL模式是不保留的。在服務(wù)器SQL模式一章中已經(jīng)討論過(guò),大多數(shù)MySQL函數(shù)和運(yùn)算符的結(jié)果可能會(huì)根據(jù)服務(wù)器SQL模式而改變。所以,一旦SQL模式在創(chuàng)建分區(qū)表后改變,可能導(dǎo)致這些表的行為發(fā)生重大變化,很容易導(dǎo)致數(shù)據(jù)丟失或者損壞?;谝陨显颍瑥?qiáng)烈建議你在創(chuàng)建分區(qū)表后千萬(wàn)不要修改服務(wù)器的SQL模式。
舉個(gè)例子來(lái)說(shuō)明下上述情況:
1.錯(cuò)誤處理