最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

更新text字段時出現(xiàn)Row size too large報錯應付措施

 更新時間:2013年03月06日 16:14:22   作者:  
個人建議:表的text字段很多建議建表時加上 row_format = dynamic當然,回過頭來MySQL的報錯也是有誤導性的,感興趣的你可以參考下本文
起因
團購開發(fā)報告說更新時出錯。

更新SQL如下
復制代碼 代碼如下:

UPDATE table_name d SET d.column_name='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
WHERE d.ID=100976;

報錯信息如下
Error Code : 1118
Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
疑惑
更新字段只涉及 column_name字段,且該字段是TEXT類型。

個人之前理解是
TEXT的內容在 Dynamic的table format下是存在off-page中的,不會占用row size的計算。
Barracuda 對應row_format ( dynamic, compress) ,其中dynamic下text的所有內容都是off-page存放的 (點擊查看)
Antelope 對應row_format (compact, redundant),其中compact下的text是存786B在row中,超過部分存在off-page
而服務器配置是 innodb_file_format = Barracuda
照理說所有table用的都是 dynamic 結構。
但是! 原因如下,摘自文檔:
To preserve compatibility with those prior versions, tables created with the InnoDB Plugin use the prefix format, unless one of ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED is specified (or implied) on the CREATE TABLE command.
也就是說,建表時不顯示指定 row_format = dynamic ,即使 innodb_file_format = Barracuda 表的row-format還是 compact

所以總結為一句話就是:如果某個表的text字段很多建議建表時加上 row_format = dynamic
當然,回過頭來MySQL的報錯也是有誤導性的,bug庫中也對confirm了這個bug(點擊查看),并在5.1.61中優(yōu)化了報錯提示。

相關文章

  • mysql 5.7.11 安裝配置教程

    mysql 5.7.11 安裝配置教程

    這篇文章主要為大家詳細介紹了mysql 5.7.11 安裝配置教程,感興趣的小伙伴們可以參考一下
    2016-06-06
  • navicat連接mysql出現(xiàn)2059錯誤的解決方法

    navicat連接mysql出現(xiàn)2059錯誤的解決方法

    這篇文章主要為大家詳細介紹了navicat連接mysql出現(xiàn)2059錯誤的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Mysql的Binlog數(shù)據(jù)恢復:不小心刪除數(shù)據(jù)庫詳解

    Mysql的Binlog數(shù)據(jù)恢復:不小心刪除數(shù)據(jù)庫詳解

    這篇文章主要介紹了Mysql的Binlog數(shù)據(jù)恢復,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • MySQL中Select查詢語句的高級用法分享

    MySQL中Select查詢語句的高級用法分享

    MySQL是一個開源的關系型數(shù)據(jù)庫管理系統(tǒng),支持多種操作語言,其中最基礎、最常用的命令之一就是SELECT語句,所以本文就來和大家聊聊Select查詢語句的幾個高級用法吧
    2023-05-05
  • Mysql服務器的啟動與停止(一)

    Mysql服務器的啟動與停止(一)

    Mysql服務器的啟動與停止(一)...
    2006-11-11
  • mysql間隙鎖的具體使用

    mysql間隙鎖的具體使用

    MySQL中有多種鎖類型,本文主要介紹了mysql間隙鎖的具體使用,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • MySQL中的UTF-8與UTF8MB4:差異解析方式

    MySQL中的UTF-8與UTF8MB4:差異解析方式

    MySQL中UTF-8和UTF8MB4的區(qū)別在于編碼范圍、存儲需求和兼容性,UTF-8可以表示大多數(shù)常見的字符,但對于一些罕見的字符和emoji表情等,可能無法正確表示,而UTF8MB4則可以表示幾乎所有的Unicode字符,包括那些UTF-8無法表示的字符,在選擇字符集時
    2024-12-12
  • MySQL添加索引及添加字段并建立索引方式

    MySQL添加索引及添加字段并建立索引方式

    這篇文章主要介紹了MySQL添加索引及添加字段并建立索引方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • MySQL之范式的使用詳解

    MySQL之范式的使用詳解

    這篇文章主要介紹了MySQL之范式的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • MySQL學習之日期函數(shù)的用法詳解

    MySQL學習之日期函數(shù)的用法詳解

    本文將學習MySQL的日期函數(shù),在前面章節(jié)的練習中,我們就利用過NOW()函數(shù)來獲取過當前系統(tǒng)時間,用DATEDIFF函數(shù)來計算日期相差的天數(shù),接下來我們就系統(tǒng)的學習一下 日期函數(shù)
    2022-08-08

最新評論

佛冈县| 桓仁| 南雄市| 六安市| 专栏| 白河县| 金湖县| 桓台县| 盐亭县| 潮安县| 海城市| 石渠县| 遂川县| 万源市| 城市| 西城区| 泸溪县| 肇州县| 定安县| 赤峰市| 萨迦县| 慈溪市| 芷江| 东乌珠穆沁旗| 天津市| 颍上县| 鹤峰县| 柞水县| 桃源县| 龙山县| 恩平市| 海阳市| 绥宁县| 富阳市| 长葛市| 禹城市| 马边| 贵德县| 江华| 西丰县| 红安县|