我应该对表格列使用text或longtext吗?

时间:2017-04-07 11:01:16

标签: mysql laravel

有什么区别?是text()吗?

我刚刚发现了这个:$ table-> longText(' description');

并且让我想知道单独的文本是否足以满足任何长度的内容,让我们说博客文章,您使用哪一个?

2 个答案:

答案 0 :(得分:2)

每种类型管理不同的最大长度

  

VARCHAR(M),VARBINARY(M)255   字节,或超过255个字节

     

TINYBLOB,TINYTEXT L L< 2 ^ 8

     

BLOB,TEXT L< 2 ^ 16

     

MEDIUMBLOB,MEDIUMTEXT L< 2 ^ 24

     

LONGBLOB,LONGTEXT L< 2 ^ 32

https://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html

答案 1 :(得分:1)

如果查看Laravel使用的illuminate/database sources,可以使用方法设置文本列的最大长度。

protected static function calculateDoctrineTextLength($type)
{
    switch ($type) {
        case 'mediumText':
            return 65535 + 1;
        case 'longText':
            return 16777215 + 1;
        default:
            return 255 + 1;
    }
}

默认类型为文字,因此text字段长度为255个字符,longtext为16777215。