日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

修改數(shù)據(jù)庫字段長度語句 數(shù)據(jù)庫字段長度定義

概述最近在修改數(shù)據(jù)庫編碼時發(fā)現(xiàn)超出單行最大長度 , 下面記錄下解決過程 , 以作備忘!

修改數(shù)據(jù)庫字段長度語句 數(shù)據(jù)庫字段長度定義


> 1118 – Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
思路:
修改數(shù)據(jù)庫字段長度語句 數(shù)據(jù)庫字段長度定義


MySQL要求一個行的定義長度不能超過65535 。
(1)單個字段如果大于65535 , 則轉(zhuǎn)換為TEXT。
(2)單行最大限制為65535 , 這里不包括TEXT、BLOB 。
所謂單行最大限制指的就是一張表中所有字段的所設(shè)置的長度不得超過65535字節(jié) , 
例如一個表中有三個varchar字段長度30000 , 那么這個表的單行長度為:30000*3=90000 , 大于65535則報錯不能建表 , 這里乘以3是因為數(shù)據(jù)庫用的utf8編碼 , 3個字節(jié)表示一個字符 。
而utf8mb4(mb4就是most bytes 4的意思 , 專門用來兼容四字節(jié)的unicode 。) , 也就是4個字節(jié)表示一個字符 , 比utf8占用更多存儲空間 , 所以在這里修改編碼的時候就報錯 。
最大問題是還是合理建表 , 不要建太多字段 , 或者字段類型設(shè)置太長了 , 像這樣設(shè)置了太大的字段長度會導(dǎo)致最后超出表長度 。
解決:調(diào)整長度為8100

修改數(shù)據(jù)庫字段長度語句 數(shù)據(jù)庫字段長度定義


測試如下:

修改數(shù)據(jù)庫字段長度語句 數(shù)據(jù)庫字段長度定義


【修改數(shù)據(jù)庫字段長度語句 數(shù)據(jù)庫字段長度定義】覺得有用的朋友多幫忙轉(zhuǎn)發(fā)哦!后面會分享更多devops和DBA方面的內(nèi)容 , 感興趣的朋友可以關(guān)注下~

修改數(shù)據(jù)庫字段長度語句 數(shù)據(jù)庫字段長度定義


    推薦閱讀