laravel 5中的VARCHAR max

时间:2015-12-18 19:01:27

标签: php mysql sql laravel laravel-5

我在网上搜索了varchar max的教程。我甚至试过

$table->string('name', "MAX");

这给了我一个错误。

如何为laravel项目的博客文章设置varchar max。感谢

5 个答案:

答案 0 :(得分:12)

为了定义文本字段的最大长度,只需提供最大长度限制作为第二个参数:

$table->string('name', 64);

这将导致在MySQL数据库中创建 VARCHAR 列。请记住,如果最大长度非常高,则可能会创建不同类型的字段(mediumtext,longtext)。

答案 1 :(得分:3)

所以在Laravel中你必须使用多个字节而不是自动最大值。最新版MySQL中的最大长度为65,535字节,但整行需要小于此值。因此,如果这是行中唯一的长文本字段,那么您应该可以从最大值中减去一点并使用它。如果您要在一行中包含多个长文本字段,则需要减去其他字段的长度然后除以。

假设这是您博客领域唯一的大文字字段,您可能只会这样做:

$table->string('name', 60000);

答案 2 :(得分:2)

将文本用于varchar(max):

$table->text('name');

答案 3 :(得分:2)

在app / Auth / Providers中,将文件AppServiceProvider.php设置为:

use Illuminate\Support\ServiceProvider;

和启动功能:

Schema::defaultStringLength(191);

答案 4 :(得分:0)

因为这是mysql或mariadb或...中的varchar类型。 VARCHAR支持最大大小为65535个字符。

$table->string('name', "65535");