mysql裡面的ENUM函式,mysql中enum型別怎麼設定

2022-03-23 02:19:29 字數 5708 閱讀 7574

1樓:愛可生雲資料庫

根據使用者定義的列舉值與分片節點對映檔案,直接定位目標分片。

使用者在rule.xml中配置列舉值檔案路徑和分片索引是字串還是數字,dble在啟動時會將列舉值檔案載入到記憶體中,形成乙個對映表

在dble的執行過程中,使用者訪問使用這個演算法的表時,where子句中的分片索引值會被提取出來,直接查對映表得到分片編號

與mycat的類似分片演算法對比

中介軟體dble

mycat

分片演算法種類    enum 分割槽演算法    分片列舉

兩種中介軟體的列舉分片演算法使用上無差別。

開發注意點

【分片索引】1. 整型數字(可以為負數)或字串((不含=和換行符)

【分片索引】2. 列舉值之間不能重複

male=0male=1

或者123=1123=2

會導致分片策略載入出錯

【分片索引】3. 不同列舉值可以對映到同乙個分片上

mr=0mrs=1miss=1ms=1123=0

運維注意點

【擴容】1. 增加列舉值無需資料再平衡

【擴容】2. 增加乙個列舉值的分片數量數時,需要對區域性資料進行遷移

【縮容】1. 減少列舉值需要資料再平衡

【縮容】2. 減少乙個列舉值的分片數量數時,需要對區域性資料進行遷移

配置注意點

【配置項】1. 在 rule.xml 中,可配置項為 、和

【配置項】2. 在 rule.xml 中配置 標籤,非必須配置項,不配置該項的話,使用者的分片索引值沒落在 mapfile 定義的範圍時,dble 會報錯;若需要配置,必須為非負整數,使用者的分片索引值沒落在 mapfile 定義的範圍時,dble 會路由至這個值的 mysql 分片

【配置項】3. 在 rule.xml 中配置 標籤,範圍對映檔案的路徑:

若在對映檔案在 dble_home/conf 或其中,則可以使用相對路徑的形式配置,例如,對映檔案是 dble_home/conf/map/table_map.txt 時,配置值就可以簡寫為 map/table_map.txt;對映檔案在 dble_home/conf 目錄以外時,需要使用絕對路徑,但這種做法需要考慮使用者許可權等問題,因此不建議把對映檔案放在 dble_home/conf 外。

【配置項】4. 編輯 mapfile 所配置的檔案

記錄格式為:《列舉值》=《分片編號》

列舉值可以是整型數字,或任意字元(除了=和換行符),分片編號必須是非負整型數字,記錄之間以換行分隔,一行僅能有一條記錄,列舉值不能夠是「default_node」這個字串,允許以「//」和「#」在行首來注釋該行

【配置項】5. 在 rule.xml 中配置 標籤;type 必須為整型;取值為 0 時,mapfile 的《列舉值》必須為整型;取值為非 0 時,mapfile 的《列舉值》可以是任意字元(除了=和換行符)

2樓:暗影之王

enum是計算機程式語言中的一種資料型別。列舉型別:在實際問題中,有些變數的取值被限定在乙個有限的範圍內。

例如,乙個星期內只有七天,一年只有十二個月,乙個班每週有六門課程等等。如果把這些量說明為整型,字元型或其它型別顯然是不妥當的。為此,c語言提供了一種稱為「列舉」的型別。

在「列舉」型別的定義中列舉出所有可能的取值,被說明為該「列舉」型別的變數取值不能超過定義的範圍。應該說明的是,列舉型別是一種基本資料型別,而不是一種構造型別,因為它不能再分解為任何基本型別。

列舉型別在使用中有以下規定:

1. 列舉值是常量,不是變數。不能在程式中用賦值語句再對它賦值。

2. 列舉元素本身由系統定義了乙個表示序號的數值,從0開始順序定義為0,1,2…。如在weekday中,sun值為0,mon值為1,sat值為6。

只能把列舉值賦予列舉變數,不能把元素的數值直接賦予列舉變數。。如一定要把數值賦予列舉變數,則必須用強制型別轉換。

3樓:匿名使用者

enum( '個人', '企業' ) character set utf8 collate utf8_bin notnull default '個人' after `mid` ;

mysql中enum型別怎麼設定

4樓:baby_原來

從 mysql 3.23.51 開始,當表被建立時,enum 值尾部的空格將會自動刪除。

當為乙個 enum 列賦值時,字母的大小寫是無關緊要的。然而,以後從列中檢索出來的值的大小寫卻是匹配於建立表時所指定的允許值。

如果在乙個數字語境中檢索乙個enum,列值的索引值將被返回。例如,可以像這樣使用數字值檢索乙個 enum 列:

mysql> select enum_col+0 from tbl_name;

如果將乙個數字儲存到乙個 enum 中,數字被當作為乙個索引值,並且儲存的值是該索引值所對應的列舉成員。(但是,這在 load data 將不能工作,因為它視所有的輸入均為字串。) 在乙個enum 字串中儲存數字是不明智的,因為它可能會打亂思維。

enum 值依照列規格說明中的列表順序進行排序。(換句話說,enum 值依照它們的索引號排序。)舉例來說,對於 enum("a", "b") "a" 排在 "b" 後,但是對於 enum("b", "a") , "b" 卻排在 "a"之前。

空字串排在非空字串前,null 值排在其它所有的列舉值前。為了防止意想不到的結果,建議依照字母的順序定義 enum 列表。也可以通過使用 group by concat(col) 來確定該以字母順序排序而不是以索引值。

如果希望得到乙個 enum 列的所有可能值,可以使用 show columns from table_name like enum_colum

5樓:愛可生雲資料庫

根據使用者定義的列舉值與分片節點對映檔案,直接定位目標分片。

使用者在rule.xml中配置列舉值檔案路徑和分片索引是字串還是數字,dble在啟動時會將列舉值檔案載入到記憶體中,形成乙個對映表

在dble的執行過程中,使用者訪問使用這個演算法的表時,where子句中的分片索引值會被提取出來,直接查對映表得到分片編號

與mycat的類似分片演算法對比

中介軟體dble

mycat

分片演算法種類    enum 分割槽演算法    分片列舉

兩種中介軟體的列舉分片演算法使用上無差別。

開發注意點

【分片索引】1. 整型數字(可以為負數)或字串((不含=和換行符)

【分片索引】2. 列舉值之間不能重複

male=0male=1

或者123=1123=2

會導致分片策略載入出錯

【分片索引】3. 不同列舉值可以對映到同乙個分片上

mr=0mrs=1miss=1ms=1123=0

運維注意點

【擴容】1. 增加列舉值無需資料再平衡

【擴容】2. 增加乙個列舉值的分片數量數時,需要對區域性資料進行遷移

【縮容】1. 減少列舉值需要資料再平衡

【縮容】2. 減少乙個列舉值的分片數量數時,需要對區域性資料進行遷移

配置注意點

【配置項】1. 在 rule.xml 中,可配置項為 、和

【配置項】2. 在 rule.xml 中配置 標籤,非必須配置項,不配置該項的話,使用者的分片索引值沒落在 mapfile 定義的範圍時,dble 會報錯;若需要配置,必須為非負整數,使用者的分片索引值沒落在 mapfile 定義的範圍時,dble 會路由至這個值的 mysql 分片

【配置項】3. 在 rule.xml 中配置 標籤,範圍對映檔案的路徑:

若在對映檔案在 dble_home/conf 或其中,則可以使用相對路徑的形式配置,例如,對映檔案是 dble_home/conf/map/table_map.txt 時,配置值就可以簡寫為 map/table_map.txt;對映檔案在 dble_home/conf 目錄以外時,需要使用絕對路徑,但這種做法需要考慮使用者許可權等問題,因此不建議把對映檔案放在 dble_home/conf 外。

【配置項】4. 編輯 mapfile 所配置的檔案

記錄格式為:《列舉值》=《分片編號》

列舉值可以是整型數字,或任意字元(除了=和換行符),分片編號必須是非負整型數字,記錄之間以換行分隔,一行僅能有一條記錄,列舉值不能夠是「default_node」這個字串,允許以「//」和「#」在行首來注釋該行

【配置項】5. 在 rule.xml 中配置 標籤;type 必須為整型;取值為 0 時,mapfile 的《列舉值》必須為整型;取值為非 0 時,mapfile 的《列舉值》可以是任意字元(除了=和換行符)

6樓:創作者

`aa` enum('a','b')

可以說一下mysql中enum欄位的作用和具體用法嗎

7樓:愛可生雲資料庫

根據使用者定義的列舉值與分片節點對映檔案,直接定位目標分片。

使用者在rule.xml中配置列舉值檔案路徑和分片索引是字串還是數字,dble在啟動時會將列舉值檔案載入到記憶體中,形成乙個對映表

在dble的執行過程中,使用者訪問使用這個演算法的表時,where子句中的分片索引值會被提取出來,直接查對映表得到分片編號

與mycat的類似分片演算法對比

中介軟體dble

mycat

分片演算法種類    enum 分割槽演算法    分片列舉

兩種中介軟體的列舉分片演算法使用上無差別。

開發注意點

【分片索引】1. 整型數字(可以為負數)或字串((不含=和換行符)

【分片索引】2. 列舉值之間不能重複

male=0male=1

或者123=1123=2

會導致分片策略載入出錯

【分片索引】3. 不同列舉值可以對映到同乙個分片上

mr=0mrs=1miss=1ms=1123=0

運維注意點

【擴容】1. 增加列舉值無需資料再平衡

【擴容】2. 增加乙個列舉值的分片數量數時,需要對區域性資料進行遷移

【縮容】1. 減少列舉值需要資料再平衡

【縮容】2. 減少乙個列舉值的分片數量數時,需要對區域性資料進行遷移

配置注意點

【配置項】1. 在 rule.xml 中,可配置項為 、和

【配置項】2. 在 rule.xml 中配置 標籤,非必須配置項,不配置該項的話,使用者的分片索引值沒落在 mapfile 定義的範圍時,dble 會報錯;若需要配置,必須為非負整數,使用者的分片索引值沒落在 mapfile 定義的範圍時,dble 會路由至這個值的 mysql 分片

【配置項】3. 在 rule.xml 中配置 標籤,範圍對映檔案的路徑:

若在對映檔案在 dble_home/conf 或其中,則可以使用相對路徑的形式配置,例如,對映檔案是 dble_home/conf/map/table_map.txt 時,配置值就可以簡寫為 map/table_map.txt;對映檔案在 dble_home/conf 目錄以外時,需要使用絕對路徑,但這種做法需要考慮使用者許可權等問題,因此不建議把對映檔案放在 dble_home/conf 外。

【配置項】4. 編輯 mapfile 所配置的檔案

記錄格式為:《列舉值》=《分片編號》

列舉值可以是整型數字,或任意字元(除了=和換行符),分片編號必須是非負整型數字,記錄之間以換行分隔,一行僅能有一條記錄,列舉值不能夠是「default_node」這個字串,允許以「//」和「#」在行首來注釋該行

【配置項】5. 在 rule.xml 中配置 標籤;type 必須為整型;取值為 0 時,mapfile 的《列舉值》必須為整型;取值為非 0 時,mapfile 的《列舉值》可以是任意字元(除了=和換行符)

jquery函式裡面怎樣呼叫函式裡面的函式

用變數模擬的來方法 例 將變數parent當做自父函式 bai,將其賦值child1,child2,child.等任意du多子函式zhi的雜湊值dao作子函式.呼叫使用用parent.childn這樣的形式也可實現類似 呼叫乙個函式裡面的函式 的方法 var parent 子函式2 child2 f...

我的MYSQL裡面的中文都變成問號了

我學php的,剛開始也亂碼,就mysql主頁設定下,讓後就是表裡設定下,在就是在 中也設定了下 mysql資料庫中讀出的資料只要是漢字就變成問號了 10 在mysql安裝時有乙個選項是選字符集的,要將它選擇為gb2312或gbk,並且在它的上方有乙個核取方塊,一定要去掉勾,這一步如果沒做的話,以後在...

c語言裡面的靜態函式和函式有區別嗎

靜態函式是函式的一種,函式包括靜態函式和非靜態函式兩種。其中靜態函式是有static修飾的函版數,如果沒權有,則為非靜態函式 全域性函式 當整個程式只有乙個c檔案時,二者沒有區別。當程式是由多個c檔案組成時,二者的作用域,即可使用的範圍不同。其中,靜態函式 帶static的 只能在本檔案中使用,無法...