【发布时间】:2020-01-14 06:22:17
【问题描述】:
我正在尝试将我的代码从 Laravel 5.8 更新到 Laravel 6.0。当我尝试迁移数据库时,出现 SQL 语法错误。
迁移
Schema::create('stocks', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('product_id');
$table->unsignedInteger('initial_price');
$table->unsignedInteger('quantity');
$table->unsignedInteger('price');
$table->string('language')->default("EN");
$table->string('state', 2)->default('MT');
$table->string('idArticleMKM')->nullable(); //idArticle from mkm
$table->foreign('product_id')->references('id')->on('products');
$table->timestamps();
});
错误
SQLSTATE[42000]:语法错误或访问冲突:1064 你有一个 SQL 语法错误;检查与您对应的手册 MySQL 服务器版本,用于在 '('EN') 附近使用正确的语法,
statevarchar(2) not null default ('MT'),idArticleMKMvarchar(1023)' at 第 1 行 (SQL: 创建表stocks(idint unsigned not null auto_increment 主键,product_idint unsigned not null,initial_priceint unsigned not null,quantityint unsigned not 空,priceint 无符号非空,languagevarchar(1023) 非空 默认 ('EN'),statevarchar(2) not null 默认 ('MT'),idArticleMKMvarchar(1023) 空,created_at时间戳空,updated_attimestamp null) 默认字符集 utf8mb4 collate 'utf8mb4_unicode_ci')
【问题讨论】: