我在设计mysql表的时候,遇到一个表长限制的问题。
在我设计的表中,使用大量varchar属性。但是varchar长度总数不能超过65536个字节,如果超过这个字节数,就会提示最长不能超过65536.但是如果有需要,确实要有一些行超过65536个字节,那怎么处理呢?
谢谢回答!

解决方案 »

  1.   

    下面是 MySQL 手册中内容: 11.4.3. BLOB和TEXT类型
    BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。有4种TEXT类型:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。这些对应4种BLOB类型,有相同的最大长度和存储需求。楼主可以参考下。
      

  2.   

    楼上的意思是将varchar改成text类型。不过改成text也不能超过65536,怎么突破这个限制呢?
      

  3.   

    mysql varchar类型只能放4000吧
      

  4.   


    varchar长度最大是255,也到不了65536个字节,text的最大长度是65535个字节如果这个字段长度要求比较高,建议楼主采用longtext参考:
    --MySQL数据类型及长度限制char, varchar                        0~255个字符
    tinyblob, tinytest                  0 ~ 255
    blob,text                              64KB (65,535个字节) 
    mediumblog, mediumtext   16MB (16,777,215字节)
    longblob, longtext               4GB (4,294,967,295字节即42亿9496万7295个字节)