簡體   English   中英

SQLSTATE[42000]:語法錯誤或訪問沖突:1064 您的 SQL 語法有錯誤; 更改列

[英]SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; change column

目標:更改表設置中的列元設置。

我正在嘗試更改之前創建的表中的列名,因此我按照以下步驟操作:

  1. composer require doctrine/dbal
  2. php artisan make:migration update_oldFileName_table
  3. update_oldNameFile_table.php
Schema::table('settings', function (Blueprint $table) {
    $table->renameColumn('meta-description', 'metaDescription');
});
  1. php artisan migrate

但是,它向我顯示了這個錯誤:

SQLSTATE[42000]:語法錯誤或訪問沖突:1064 您的 SQL 語法有錯誤; 檢查與您的 MariaDB 服務器版本相對應的手冊,以在第 1 行的“-description metaDescription VARCHAR(255) NOT NULL”附近使用正確的語法(SQL:ALTER TABLE settings CHANGE meta-description metaDescription VARCHAR(255) NOT NULL)

我認為問題是因為 - 在“元描述”中,但我想改變它!

您可以在列名周圍添加反引號:

$table->renameColumn('`meta-description`', 'metaDescription');

問題是 - 是一個運算符。 反引號確保被忽略。

您需要doctrine/dbal package 才能執行此操作。

composer require doctrine/dbal

再次運行遷移,錯誤應該 go 消失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM