首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLSTATE[42000]:语法错误或访问冲突: 1064您的SQL语法中有错误;更改列

SQLSTATE[42000]:语法错误或访问冲突: 1064您的SQL语法中有错误;更改列
EN

Stack Overflow用户
提问于 2022-08-24 08:48:10
回答 2查看 55关注 0票数 0

目标:更改表设置中的列元设置。

我试图在我之前创建的表中更改列名,因此我遵循了以下步骤:

  1. composer require doctrine/dbal
  2. php artisan make:migration update_oldFileName_table
  3. update_oldNameFile_table.php

代码语言:javascript
复制
Schema::table('settings', function (Blueprint $table) {
    $table->renameColumn('meta-description', 'metaDescription');
});

  1. php artisan migrate

但是,它向我显示了以下错误:

SQLSTATE42000:语法错误或访问冲突: 1064您的SQL语法中有错误;检查与MariaDB服务器版本对应的手册,以获得在第1行使用MariaDB metaDescription VARCHAR(255) NOT NULL的正确语法(SQL: ALTER设置更改metaDescription (255) NOT NULL)

我认为问题是因为-在“元-描述”,但我想改变它!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-24 09:03:30

您可以在列名周围添加回标:

代码语言:javascript
复制
$table->renameColumn('`meta-description`', 'metaDescription');

问题是-是个操作员。后排确保这一点被忽略。

票数 2
EN

Stack Overflow用户

发布于 2022-08-24 08:58:13

您需要doctrine/dbal包来执行此操作。

代码语言:javascript
复制
composer require doctrine/dbal

再次运行迁移,错误就会消失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73470122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档