【问题标题】:Artisan change column comments with name in dash工匠更改列注释,名称为破折号
【发布时间】: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


【解决方案1】:

最后,我使用如下代码

`DB::statement("ALTER TABLE category CHANGE `zh-TW` `zh-TW` VARCHAR(191) NOT NULL comment 'Name in Chinese';");

【讨论】:

    猜你喜欢
    • 2011-11-05
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    • 2021-04-15
    • 1970-01-01
    相关资源
    最近更新 更多