Laravel 迁移字符串(MySQL VarChar)与文本 - 何时使用它们?它们有何不同?

Posted

技术标签:

【中文标题】Laravel 迁移字符串(MySQL VarChar)与文本 - 何时使用它们?它们有何不同?【英文标题】:Laravel Migrations String (MySQL VarChar) vs Text - When to use them? How do they differ? 【发布时间】:2021-10-22 23:11:24 【问题描述】:

Laravel 关于迁移列的文档声明支持文本或字符串类型/列。我无法解释这两者有何不同,因此我不知道何时应该使用其中一个。

【问题讨论】:

这个问题不是依赖laravel,而是依赖数据库是mysql还是mariadbrefer here Refer this answer 谢谢。您的第二条评论完全回答了我的问题。 这能回答你的问题吗? Difference between $table->string('some_text'); & $table->text('some_text'); in Laravel? 【参考方案1】:

Laravel 的文档在右栏中说明了 MySQL 的等价物。

它指出String相当于MySQL中的VarChar,即defined in their documentation here。基本上它会去除尾随空格,并且限制为 65,000 个左右的字符。所以你基本上可以用它来做任何事情。前任。博客文章标题,或文章正文等...

Text in MySQL。它没有说明该文档 but it does here 中的 Text 有字符限制,也就是大约 65,000(字节,但据我所知,每个字符是 1 个字节)。

【讨论】:

以上是关于Laravel 迁移字符串(MySQL VarChar)与文本 - 何时使用它们?它们有何不同?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.4 迁移 ENUM 在 MySQL 中失败

在 Laravel 4 中通过迁移脚本创建 MySQL 视图

Laravel mysql迁移错误

Laravel 5.1 如何使用迁移创建 MySQL 存储过程

在 Laravel 4 迁移中创建 MYSQL FUNCTION

安装迁移期间mysql服务器已消失错误(laravel)