MySql “Row size too large (> 8126)”
今天在對MySQL資料庫進行資料處理時,遇到一個錯誤:
Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help.
我處理的這張表有400列,有大量的VARCHAR和TEXT列,以前遇到過該表中VARCHAR總長度超過65532的錯誤,第一眼看到,誤以為是VARCHAR超長的問題。
嘗試一】於是我把一些較大的VARCHAR列換成了TEXT型別,但是問題依然存在。
【嘗試二】根據錯誤資訊的提示,我又在建立表時添加了ROW_FORMAT=DYNAMIC設定,但是問題依然存在。
【嘗試三】後來我懷疑資料庫引擎的問題,因為我們常用的是MyISAM引擎,但是我新裝MySQL後,預設是InnoDb,而我也一直沒有修改。於是我移除了建立表時的ROW_FORMAT設定,增加了Engine=MyISAM。問題解決了。
【原理淺析】根據網上的一些資料,這個問題可能與不同引擎之間使用的儲存格式有關。MyISAM有3種行儲存格式:fixed/dynamic/compressed。
InnoDb在MyIASM基礎上新引入了Barracuda。至於不同引擎的預設設定,以及各種儲存格式之間的區別,我也沒有深入研究,有興趣的話可以去了解一下。
相關推薦
MySql “Row size too large (> 8126)”
今天在對MySQL資料庫進行資料處理時,遇到一個錯誤: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORM
MySql “Row size too large (> 8126)” 親測解決
問題 :匯入mysql資料表時出現錯誤 : error "Row size too large (> 8126). Changing some columns to TEXT or BLOB
MYSQL--“Row size too large (> 8126)”
http 分享 數據 AR myisam image isam post bsp 將表的引擎改為MyISAM就可以,如下圖。 因為新數據庫mysql默認的引擎是InnoDB MYSQL--“Row size too large (> 8126)”
資料庫錶行輸入總字數太多報錯:Row size too large (> 8126)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large (> 8126). Changing some columns to TEXT or B
Mysql_大字段問題Row size too large.....not counting BLOBs, is 8126.
var log 都是 variable bytes alter 設置 分享圖片 value 【問題描述】 1.從myslq(5.7.19-0ubuntu0.16.04.1)中導出sql腳本,導入到mysql(5.5.27)中,報如下錯誤:Row size too large
mysql 報Row size too large 65535 原因與解決方法
在MySQL建表時,遇到一個奇怪的現象: [email protected] : test 10:30:54>CREATE TABLE tb_test ( -> recordid varchar(32) NOT NULL, ->
mysql specified key was too long與Index column size too large. The maximum column size is 767 bytes.
第一個問題:要設定utf-8就好; Index column size too large. The maximum column size is 767 bytes. 第一步:use 進入資料庫 執行: set global innodb_file_format
Index column size too large
【問題描述】:因為業務需要,需要修改欄位的長度,但是修改過程中出現如下問題: mysql> alter table house_8090 modify house_url varchar(765); ERROR 1709 (HY000): Index column size too large. T
錯誤的異常資訊為Index column size too large. The maximum column size is 767 bytes
使用mysql建表的時候報索引太大,錯誤異常資訊為Index column size too large. The maximum column size is 767 bytes。 首先我先將mysql的配置檔案更改了一下設定為 default-storage
mysql row size上限
mysql innodb 的 row size上限 背景 在專案使用中,出現了以下報錯: Error Code: 1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=D
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1169 > 1024)
是否 經驗總結 article except ack tin 接受 參數 exceptio ### Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1169 > 1
live555: The input frame data was too large for our buffer size
rtsp采用Live555作為流媒體服務器端,進行RTSP的請求的時候,會出現如下的提示:MultiFramedRTPSink::afterGettingFrame1(): The input frame data was too large for our buffer size (100452). 13
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2280 > 2048).異常的解決方法
mes mode process trac image pan bst chang sub 今天碰到了一個如上的異常,在執行一個查詢功能時後臺會報錯,沒有返回查詢結果。 一般是Linux服務器的mysql的配置文件出現問題(同樣的數據在本地不報錯),mysql重啟時可能會重
Mysql execute報錯“MySQL server has gone away”或query報錯“Packet for query is too large”
Mysql execute報錯“MySQL server has gone away”或query報錯“Packet for query is too large”解決辦法: 一般出現以上情況都是預設的mysql對max_allowed_packet設定較小所致:1M左右,當你的sql查詢結
413 Request Entity Too Large&The field uploadFiles exceeds its maximum permitted size of 1048576 byt
問題場景:使用nginx做代理轉發一個tomcat釋出的springBoot web應用,上傳圖片時在service層做了圖片大小2M的校驗,但是上傳圖片時出現以上兩個錯誤。 問題1:nginx 413 Request Entity Too Large 問題分析:從錯誤資訊判斷是
mysql提示Packet for query is too large (1142 > 1024)解決方案
MySQL根據配置檔案會限制server接受的資料包大小, 有時候大的插入和更新會被max_allowed_packet 引數限制掉,導致失敗,提示“Packet for query is too large (1142 > 1024)”。 檢視目前配置
解決專案執行時報com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1169 > 1024)錯誤的問題。
資料庫問題,開啟資料庫對應的表,繼續如下操作: show VARIABLES like '%max_allowed_packet%'; 檢視一次允許的最大查詢空間: 2.設定你所要設定的大小,本人設定如下: set global max_allowed_packet = 2*1
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1169 > 1024)
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1169 > 1024). You can change this value on the server by setting t
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1086 > 1024).
報錯:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1086 > 1024). You can change this value on the server by setting the ma
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (11707239 > 1048576). You can c
2016年04月08日 09:43:30 西門呀在吹雪 閱讀數:2786 版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/woshishui6501/article/details/51093607 &n