国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL:1118 - Row size too large(行大小不能超過 65535 問題)

這篇具有很好參考價值的文章主要介紹了MySQL:1118 - Row size too large(行大小不能超過 65535 問題)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

問題

  • 當我們創(chuàng)建表或新增字段時,我們可能遇到下面這個問題:
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
  • 大概的意思是說:行的大小過大,最大限制為 65535 ,其中不包括 TEXT or BLOB 類型,建議調整一些列為 TEXT or BLOB 類型。
  • 下面我們來具體分析一下這個問題,并探討如何解決。

原因

  • MySQL 行大小最大限制為65535,不包括TEXT、BLOB。

  • 注:如果未啟用嚴格 SQL 模式, VARCHAR長度規(guī)范大于 65535 的列將轉換為 TEXT, VARBINARY長度規(guī)范大于 65535 的列將轉換為 BLOB。否則,在這兩種情況下都會發(fā)生錯誤。

  • 參考:MySQL 5.7 官方文檔:13.1.18.6 Silent Column Specification Changes

問題復現

環(huán)境 & 版本

SELECT VERSION();

5.7.36-log

復現過程

  • 嘗試創(chuàng)建一個表 “tb_test”:
CREATE TABLE tb_test (
	row1 VARCHAR ( 10000 ) DEFAULT NULL,
	row2 VARCHAR ( 10000 ) DEFAULT NULL,
	row3 VARCHAR ( 10000 ) DEFAULT NULL
) ENGINE = INNODB DEFAULT CHARSET = utf8;

// 創(chuàng)建失敗
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

// 為什么創(chuàng)建失敗
tb_test 使用 CHARSET = utf8,每個編碼字符占 3 個字節(jié)
則 tb_test 行長度為:1000 * 3 * = 90000 字節(jié) > 63335
因此創(chuàng)建表失敗

解決方案

調整列大小

  • 調整列大小使行大小 <= 65535。
CREATE TABLE tb_test (
	row1 VARCHAR ( 10000 ) DEFAULT NULL,
	row2 VARCHAR ( 10 ) DEFAULT NULL,
	row3 VARCHAR ( 10000 ) DEFAULT NULL
) ENGINE = INNODB DEFAULT CHARSET = utf8;

tb_test 行長度為:10000 * 3 * 2 + 10 *3  = 60020 字節(jié) < 63335

// 創(chuàng)建成功
CREATE TABLE tb_test (
	row1 VARCHAR ( 10000 ) DEFAULT NULL,
	row2 VARCHAR ( 10 ) DEFAULT NULL,
	row3 VARCHAR ( 10000 ) DEFAULT NULL
) ENGINE = INNODB DEFAULT CHARSET = utf8
> OK
> 查詢時間: 0.087s

調整列類型

  • 調整其中部分列類型為 TEXT or BLOBs(不計入行大?。?,使行大小 <= 65535。
CREATE TABLE tb_test(
	row1 VARCHAR ( 10000 ) DEFAULT NULL,
	row2 text DEFAULT NULL,
	row3 VARCHAR ( 10000 ) DEFAULT NULL
) ENGINE = INNODB DEFAULT CHARSET = utf8

將 row2 調整為 text 類型
tb_test 行長度為:10000 * 3 * 2 = 60000 字節(jié) < 63335

// 創(chuàng)建成功
CREATE TABLE tb_test(
	row1 VARCHAR ( 10000 ) DEFAULT NULL,
	row2 text DEFAULT NULL,
	row3 VARCHAR ( 10000 ) DEFAULT NULL
) ENGINE = INNODB DEFAULT CHARSET = utf8
> OK
> 查詢時間: 0.023s

個人簡介

?? 你好,我是 Lorin 洛林,一位 Java 后端技術開發(fā)者!座右銘:Technology has the power to make the world a better place.

?? 我對技術的熱情是我不斷學習和分享的動力。我的博客是一個關于Java生態(tài)系統(tǒng)、后端開發(fā)和最新技術趨勢的地方。

?? 作為一個 Java 后端技術愛好者,我不僅熱衷于探索語言的新特性和技術的深度,還熱衷于分享我的見解和最佳實踐。我相信知識的分享和社區(qū)合作可以幫助我們共同成長。

?? 在我的博客上,你將找到關于Java核心概念、JVM 底層技術、常用框架如Spring和Mybatis 、MySQL等數據庫管理、RabbitMQ、Rocketmq等消息中間件、性能優(yōu)化等內容的深入文章。我也將分享一些編程技巧和解決問題的方法,以幫助你更好地掌握Java編程。

?? 我鼓勵互動和建立社區(qū),因此請留下你的問題、建議或主題請求,讓我知道你感興趣的內容。此外,我將分享最新的互聯網和技術資訊,以確保你與技術世界的最新發(fā)展保持聯系。我期待與你一起在技術之路上前進,一起探討技術世界的無限可能性。

?? 保持關注我的博客,讓我們共同追求技術卓越。文章來源地址http://www.zghlxwxcb.cn/news/detail-812457.html

到了這里,關于MySQL:1118 - Row size too large(行大小不能超過 65535 問題)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Linux 的 TCP 連接數量最大不能超過 65535?

    Linux 的 TCP 連接數量最大不能超過 65535?

    在使用 TCP/IP 協(xié)議時,會遇到一個經典的問題:TCP 連接數量最大不能超過 65535。這是因為 TCP 協(xié)議頭中的端口號是 16 位的,因此最大只能表示 65535 個端口號。那么,服務器又是如何應對百萬千萬的并發(fā)連接的呢? Linux TCP 連接數量最大不能超過 65535 在理解如何處理大量并發(fā)連

    2024年02月09日
    瀏覽(29)
  • Result window is too large, from + size must be less than or equal to: [10000] but was

    Result window is too large, from + size must be less than or equal to: [10000] but was

    做分頁查詢,當分頁達到一定量的時候,報如下錯誤: 原因分析: es對from + size的大小進行限制,必須小于等于10000。 方案一(有風險) 將max_result_window參數閾值調大,在業(yè)務中限制分頁大小,使from+size=10000; 具體操作 改法一: 動態(tài)更改索引設置,為max_result_window參數賦值足夠

    2024年02月16日
    瀏覽(19)
  • 微信小程序上傳代碼, Error: 分包大小超過限制,main package source size 4732KB exceed max limit 2MB

    微信小程序上傳代碼, Error: 分包大小超過限制,main package source size 4732KB exceed max limit 2MB

    (1)新建文件夾pagepart (2)文件夾新建頁面 (3)修改app.json 結束 目前就分包完成了 可以在微信開發(fā)者工具 詳情基本信息中查看當前分包大小 (1)用畫圖軟件打開照片,把數值改小 總結 可以右擊查看屬性,查看照片的的大小 要是有什么寫的不對的地方,請大佬多多指教

    2024年02月16日
    瀏覽(22)
  • 為什么MySQL單表不能超過2000萬行?

    摘要: MySQL一張表最多能存多少數據? 本文分享自華為云社區(qū)《為什么MySQL單表不能超過2000萬行?》,作者: GaussDB 數據庫 。 最近看到一篇《我說MySQL每張表最好不要超過2000萬數據,面試官讓我回去等通知》的文章,非常有趣。 文中提到,他朋友在面試的過程中說,自己的

    2024年02月05日
    瀏覽(21)
  • 解決Data too long for column ‘xxx‘ at row 1問題以及深入理解mysql的字符串數據類型(char,varchar,enum,text,longtext...)

    今天在測試環(huán)境新增數據時,報出如是錯誤: Data too long for column \\\'apply_service_type\\\' at row 1 。 為了復現這個問題,我特地在本地數據庫中增加如下 test 表:

    2023年04月17日
    瀏覽(25)
  • Nginx報錯 HTTP 413 Request Entity Too Large(Payload Too Large)解決方案

    上傳文件時,請求參數過大,導致超出服務端限制。 客戶端發(fā)送的實體主體部分比服務器能夠或者希望處理的要大。? Nginx默認最大能夠上傳1MB文件,打開nginx.conf在http{}中,找到server{}設置: client_max_body_size 30m;(配置客戶端請求實體最大值) client_body_buffer_size 128k;(配置請

    2024年02月07日
    瀏覽(24)
  • Data too long for column ‘xxxx‘ at row 1 解決辦法

    很簡單的啦,往下看 Data too long for column ‘xxxx’ at row 1 第一種情況就是很普遍的,xxx字段長度不夠 就是用Mybatis映射文件xml,字段匹配順序錯誤即 原來很短的一個列,插入了很長的數據 就是數據庫字符集的問題 重新設置字符串長度 仔細看一眼sql,就能排錯 PS: 前端提出來

    2024年02月07日
    瀏覽(24)
  • 413 Request Entity Too Large

    字面意思很簡單,就是文件太大了 先說解決方法?。?! 如果是使用NGINX做代理,NGINX默認最大上傳是1M如果超過就無法上傳。 可以在配置寫入如下: 在最后加上 client_max_body_size 100m; ,記得最后帶上分號結束。 本來在本地調試頁面時候,因為自己服務器本身帶寬就很小,上傳

    2024年02月10日
    瀏覽(20)
  • elasticsearch Data too large問題解決

    現象: 1、釘釘上收到es集群監(jiān)控告警,集群變?yōu)閥ellow 2、kibana上沒有數據,打開索引管理報以下錯誤: 解決: 1、修改config目錄下jvm配置文件中關于jvm的參數 2、重啟es集群 2.1 如果分片有副本的話,重啟過程中,要臨時關閉分片復制功能。 每個結點重啟時,ElasticSearch集群的

    2024年02月07日
    瀏覽(21)
  • 413 Request Entity Too Large問題解決方法

    最近我們有個小程序需求是現場拍照提取照片中的有效信息,上傳圖片只能通過現場拍照,由于目前手機像素普遍較高,導致上傳接口出現413 Request Entity Too Large,上傳文件過大引起nginx代理報錯。 針對這個問題,解決方案是: 項目配置文件修改,比如springboot項目中的applic

    2024年02月16日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包