gpt4 book ai didi

mysql - 拉拉维尔 5.3 : Auto Incrementing Unsigned TINYINT

转载 作者:行者123 更新时间:2023-11-29 06:56:05 26 4
gpt4 key购买 nike

我有一些表需要 tinyint 字段,这些字段必须是 无符号 并设置为 auto_increment

L5.3 Database : Migrations documentation 没有有定义无符号自动递增tinyint的方法。

我尝试使用DB::update()来实现它。我的表迁移文件如下所示:

public function up()
{
Schema::create('table_name', function (Blueprint $table)
{
$table->unsignedTinyInteger('field1');
$table->string('field2', 255);
$table->primary('field1');
$table->index('field2');

$field = "field1";
});

$this->addAutoIncrements($field);

}

public function addAutoIncrements($field)
{
DB::update('ALTER TABLE table_name MODIFY $field TINYINT UNSIGNED NOT NULL AUTO_INCREMENT');
}

当我尝试使用这样的迁移文件php artisan migrate时,它会迁移没有任何错误,但没有分配自动-增量

我该如何解决这个问题?我应该将更新作为完整的新迁移进行吗?有人做过吗?

最佳答案

unsignedTinyInteger() 方法的第二个参数是一个 bool 值,用于标记它是否是自动递增字段。它默认为 false,因此您只需更新迁移以传入 true

$table->unsignedTinyInteger('field1', true);

作为 future 的注释,Laravel 5.4.16 中添加了 tinyIncrements() 便捷方法来实现这一点。

关于mysql - 拉拉维尔 5.3 : Auto Incrementing Unsigned TINYINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45548808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com