如何在 laravel 迁移中定义整数大小

how to define integer size in laravel migration

当我从 Laravel.

尝试数据库迁移 Scheme Builder 时

当我输入整数类型时,auto_increment和主键会自动输入。

我不知道如何在 laravel 中创建 table。

Schema::create('tbl_corona_region', function(Blueprint $table){
            $table->string('seq', 30);
            $table->date('create_dt');
            $table->string('region_nm', 30);
            $table->string('region_cn', 30);
            $table->string('region_en', 30);
            $table->integer('defCnt', 15)->default(0);
            $table->integer('incDec', 15)->default(0);
            $table->integer('deathCnt', 15)->default(0);
            $table->integer('isolIngCnt', 15)->default(0);
            $table->integer('isolClearCnt', 15)->default(0);
            $table->integer('localOccCnt', 15)->default(0);
            $table->integer('overFlowCnt', 15)->default(0);
            $table->integer('qurRate', 15)->default(0);
            $table->dateTime('stdDay');
            $table->dateTime('update_dt');
            $table->primary(['seq', 'create_dt', 'region_nm']);            
        });

生成此 SQL

create table `tbl_corona_region` (
    `seq` varchar(30) not null, 
    `create_dt` date not null, 
    `region_nm` varchar(30) not null, 
    `region_cn` varchar(30) not null, 
    `region_en` varchar(30) not null, 
    `defCnt` int not null default '0' auto_increment primary key, 
    `incDec` int not null default '0' auto_increment primary key, 
    `deathCnt` int not null default '0' auto_increment primary key, 
    `isolIngCnt` int not null default '0' auto_increment primary key, 
    `isolClearCnt` int not null default '0' auto_increment primary key, 
    `localOccCnt` int not null default '0' auto_increment primary key, 
    `overFlowCnt` int not null default '0' auto_increment primary key, 
    `qurRate` int not null default '0' auto_increment primary key, 
    `stdDay` datetime not null, 
    `update_dt` datetime not null
) default character set utf8mb4 collate 'utf8mb4_unicode_ci')

整数中的第二个参数是autoincrement而不是长度。

在laravel数据库迁移中,不能指定整数类型的长度。默认为11。

整数方法的第二个参数不是指定的长度。而是设置了自增,所以整数法不能指定子段的长度。

integer(string $column, bool $autoIncrement = false, bool $unsigned =false)

参考:Laravel core implementation of integer method