【发布时间】:2023-03-13 23:10:01
【问题描述】:
我想用 Laravel 更改 MySQL 表中的列注释。
但是,我在迁移时遇到错误。
"Syntax error (SQL: ALTER TABLE category CHANGE zh-TW zh-TW VARCHAR(191) NOT NULL COMMENT 'Name in Chinese')".
代码如下:
Schema::table('category', function (Blueprint $table) {
$table->string('zh-TW')->comment('Name in Chinese')->change();
});
【问题讨论】:
-
尝试反引号
'`zh-TW`' -
谢谢,但不能像下面那样工作 $table->string('
zh-TW')->comment('Name in Chinese')->change(); -
我希望 Laravel 会为您添加反引号,但由于它不是...您是否尝试过使用
\DB::raw()自己添加它们?即:$table->string(\DB::raw("`zh-TW`"))->comment('Name in Chinese')->change(); -
感谢@chiliNUT。但还是不行。我使用下面的代码来解决这个问题
DB::statement("ALTER TABLE category CHANGE `zh-TW` `zh-TW` VARCHAR(191) NOT NULL comment 'Name in Chinese';");它是有线的,因为我可以使用$table->string('zh-TW');来创建列,但不能以同样的方式改变。
标签: php laravel-5 artisan-migrate