【发布时间】:2021-07-09 15:32:49
【问题描述】:
当我尝试从 Laravel 迁移数据库时 Scheme Builder。
输入整数类型时,自动输入auto_increment和主键。
我不知道如何在 laravel 中获取创建表。
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')
【问题讨论】:
-
因为你创建 $table->primary(['seq', 'create_dt', 'region_nm']);
-
你的意思是
$table->integer('defCnt', 15)->default(0)会让这个字段自动递增和主要? -
不,我只想要默认值 0 而不是整数列上的 AI 和 PK
-
integer不应该发生这种情况,尽管我不确定是否应该在那里使用第二个参数。你能分享一下你正在使用的 Laravel 版本吗? -
直接用sql文本讲述我的计划是创建表'tbl_corona_region' ('seq' varchar(30) not null, 'create_dt' date not null, 'region_nm' varchar(30) not null, 'defCnt' int(15) not null default '0' ..... 主键 ('seq', 'create_dt', 'region_nm') ) ...