下面列出了迁移文件部分:
Schema::create('samples', function (Blueprint $table) { $table->id(); $table->text('title1'); $table->longText('title2'); $table->timestamps(); });
这与 Laravel 迁移无关,而是表列的数据类型,取决于文本字符串的大小。
TINYTEXT 数据对象是 TEXT 系列中最小的一个,旨在高效存储短信息字符串。该类型最多可以存储 255 个字节(表示为 2^8 -1)或 255 个字符,并且需要 1 个字节的开销。该对象可用于存储简短摘要、URL 链接和其他较短对象等内容。当存储长度小于 255 个字符且长度不一致且无需用于排序条件的数据时,TINYTEXT 优于 VARCHAR。
TINYTEXT
TEXT
VARCHAR
标准的TEXT数据对象足以处理典型的长格式文本内容。 TEXT 数据对象的最大大小为 64 KB(表示为 2^16 -1)或 65,535 个字符,需要 2 字节的开销。它足够大,足以容纳文章之类的文本,但不足以容纳整本书的文本。
MEDIUMTEXT 数据对象对于存储较大的文本字符串(例如白皮书、书籍和代码备份)非常有用。这些数据对象可以大到 16 MB(表示为 2^24 -1)或 16,777,215 个字符,并且需要 3 个字节的开销存储。
MEDIUMTEXT
LONGTEXT 数据对象用于极端文本字符串存储用例。当 MEDIUMTEXT 对象不够大时,这是一个可行的选择。计算机程序和应用程序通常会达到LONGTEXT范围内的文本长度。这些数据对象最大可达 4 GB(表示为 2^32 -1),最多可存储 4,294,967,295 个字符,并需要 4 字节的开销存储
LONGTEXT
请注意,列中可以存储的字符数取决于字符编码。
文本最多可处理 65,535 个字符
长文本最多可处理 4,294,967,295 个字符
这与 Laravel 迁移无关,而是表列的数据类型,取决于文本字符串的大小。
TINYTEXT:255 个字符 - 255 B
TINYTEXT
数据对象是TEXT
系列中最小的一个,旨在高效存储短信息字符串。该类型最多可以存储 255 个字节(表示为 2^8 -1)或 255 个字符,并且需要 1 个字节的开销。该对象可用于存储简短摘要、URL 链接和其他较短对象等内容。当存储长度小于 255 个字符且长度不一致且无需用于排序条件的数据时,TINYTEXT
优于VARCHAR
。文本:65,535 个字符 - 64 KB
标准的
TEXT
数据对象足以处理典型的长格式文本内容。TEXT
数据对象的最大大小为 64 KB(表示为 2^16 -1)或 65,535 个字符,需要 2 字节的开销。它足够大,足以容纳文章之类的文本,但不足以容纳整本书的文本。MEDIUMTEXT:16,777,215 个字符 - 16 MB
MEDIUMTEXT
数据对象对于存储较大的文本字符串(例如白皮书、书籍和代码备份)非常有用。这些数据对象可以大到 16 MB(表示为 2^24 -1)或 16,777,215 个字符,并且需要 3 个字节的开销存储。长文本:4,294,967,295 个字符 - 4 GB
LONGTEXT
数据对象用于极端文本字符串存储用例。当 MEDIUMTEXT 对象不够大时,这是一个可行的选择。计算机程序和应用程序通常会达到LONGTEXT
范围内的文本长度。这些数据对象最大可达 4 GB(表示为 2^32 -1),最多可存储 4,294,967,295 个字符,并需要 4 字节的开销存储请注意,列中可以存储的字符数取决于字符编码。
文本最多可处理 65,535 个字符
长文本最多可处理 4,294,967,295 个字符