mysql存储blob限制
生活随笔
收集整理的這篇文章主要介紹了
mysql存储blob限制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、Mysql存儲類型分類:
1、blob:二進制大對象(字節流),可以用來存儲圖片、視頻等,沒有字符集的說法
2、text:文本大對象(字符流),存儲大型字串,有字符集的說法
3、二者使用時不能指定默認值,根據實際情況需要修改【max_allowed_packet】系統變量
二、blob、text存儲大小限制:
1、tinyblob、tinytext最大存儲255字節
2、blob、text最大存儲65K
3、mediumblob、mediumtext最大存儲16M
4、longblob、longtext最大存儲4G
三、測試存儲限制:
C:UsersAdministrator>mysql mysql> use test1; mysql> show tables; mysql> drop table t1; mysql> CREATE TABLE t1 ( -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> tiny_blob TINYBLOB, -> b_blob BLOB, -> medium_blob MEDIUMBLOB, -> long_blob LONGBLOB -> ); mysql> desc t1; mysql> insert into t1(id) select 1; mysql> select * from t1; mysql> select @@global.max_allowed_packet; #測試tinyblob的存儲限制,看是否只能存儲最大255字節的文件: mysql> UPDATE t1 -> SET t1.tiny_blob=LOAD_FILE('D:/Program Files/mysql-5.7.11-winx64/temp/test.255.file') -> WHERE t1.id=1; mysql> UPDATE t1 -> SET t1.tiny_blob=LOAD_FILE('D:/Program Files/mysql-5.7.11-winx64/temp/test.256.file') -> WHERE t1.id=1; ERROR 1406 (22001): Data too long for column 'tiny_blob' at row 1 #blob的存儲限制是否是65k: mysql> UPDATE t1 -> SET t1.b_blob=LOAD_FILE('D:/Program Files/mysql-5.7.11-winx64/temp/test.65560.file') -> WHERE t1.id=1; ERROR 1406 (22001): Data too long for column 'b_blob' at row 1 #可見,65559字節也是無法存儲的。那么blob到底能存儲多少字節呢?答案是65536-1=65535字節,也就是64K少1字節。四、總結:
1、tinyblob、tinytext最大存儲為255字節(2的8次方-1)
2、blob、text最大存儲限制為64K-1(2的16次方-1)
3、mediumblob、mediumtext最大存儲限制為16M-1(2的24次方-1)
4、longblob、longtext最大存儲限制4G-1(2的32次方-1)
總結
以上是生活随笔為你收集整理的mysql存储blob限制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python boolean_Pytho
- 下一篇: IE打开https网站时,取消证书问题提