文章插圖

文章插圖
概述
最近在修改數據庫編碼時發現超出單行最大長度,下面記錄下解決過程,以作備忘!
> 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思路:
(1)單個字段如果大于65535,則轉換為TEXT。
(2)單行最大限制為65535,這里不包括TEXT、BLOB 。
所謂單行最大限制指的就是一張表中所有字段的所設置的長度不得超過65535字節,
例如一個表中有三個varchar字段長度30000,那么這個表的單行長度為:30000*3=90000,大于65535則報錯不能建表,這里乘以3是因為數據庫用的utf8編碼,3個字節表示一個字符 。
而utf8mb4(mb4就是most bytes 4的意思,專門用來兼容四字節的unicode 。),也就是4個字節表示一個字符,比utf8占用更多存儲空間,所以在這里修改編碼的時候就報錯 。
最大問題是還是合理建表,不要建太多字段,或者字段類型設置太長了,像這樣設置了太大的字段長度會導致最后超出表長度 。
解決:
調整長度為8100
- 如何更改host文件 如何修改hosts文件類型
- 百度移動應用平臺不更新版本 百度移動應用平臺開發者怎么修改
- 阿里巴巴開源數據庫 阿里云數據庫
- mysql一張表可以存多少數據 mysql數據庫一張表能存多少記錄
- 十六進制編輯器怎么改游戲 十六進制修改游戲
- oracle數據庫調優方法 oraclesql調優
- jquery添加style樣式 jquery修改css樣式屬性
- 電腦版微信怎么改微信號 電腦微信可以修改微信號嗎
- win10更改MAC地址 windows10怎么修改mac地址
- Sql數據庫還原 SQL數據還原
