laravel 資料庫遷移時報錯
問題描述
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL:
alter
table
`users`
add
unique
`users_email_unique`(
`email`))
[PDOException]
SQLSTATE[
42000]: Syntax
error
or
access violation:
1071 Specified
key was too
long; max key length is 767 bytes
(1)laravel 5.4或者更高版本 改變了預設的資料庫字符集,現在utf8mb4包括儲存emojis支援。如果你執行MySQL v5.7.7或者更高版本,則不需要做任何事情。(2)當你試著在一些MariaDB或者一些老版本的的MySQL上執行 migrations 命令時,你可能會碰到下面這個錯誤:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes【指定的鍵太長了,最大鍵的長是767bytes,因為laravel預設字串長度是767bytes,所以要自己去手動配置。】
解決方案:
<?php
namespace App\Providers;
// 匯入Schema類
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public
function
boot
()
{
// 在app/providers/AppServiceProvider.php中boot方法中加上
Schema::defaultStringLength(
191);
}
}
另外還有一種錯誤
SQLSTATE[
42S21]: Column already
exists:
1060 Duplicate column name
'description'
或者是
SQLSTATE[
42S21]: Table already
exists:
1060 name
'articles'
出現這兩種情況,說明你的遷移檔案應該有問題,第一種,說明遷移檔案欄位應該是重複了,第二個說明,資料庫中已有資料表,請先刪除表後,在進行遷移。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69923331/viewspace-2703577/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- laravel資料庫遷移Laravel資料庫
- Laravel 學習之資料庫遷移Laravel資料庫
- Laravel migration (資料庫遷移) 的使用Laravel資料庫
- Laravel資料庫遷移和填充(支援中文)Laravel資料庫
- 【遷移】使用rman遷移資料庫資料庫
- 資料庫遷移資料庫
- Laravel5.4框架中資料庫遷移Laravel框架資料庫
- Laravel5的資料庫表建立問題 資料庫遷移操作報錯問題解決Laravel資料庫
- Laravel 中資料遷移和資料填充Laravel
- 資料庫遷移 :理解資料庫
- Odoo遷移資料庫Odoo資料庫
- redis資料庫遷移Redis資料庫
- Cacti 遷移資料庫資料庫
- 資料庫遷移方案資料庫
- ORACLE資料庫遷移Oracle資料庫
- 遷移資料庫成功!資料庫
- 建立資料庫遷移資料庫
- 資料庫-oracle-資料庫遷移資料庫Oracle
- Oracle資料庫資料遷移流程Oracle資料庫
- 資料庫遷移神器——Flyway資料庫
- 遷移MySQL 5.7資料庫MySql資料庫
- 用rman遷移資料庫資料庫
- 資料庫遷移手記資料庫
- django資料庫遷移-15Django資料庫
- SQL Server資料庫遷移SQLServer資料庫
- mysql資料庫遷移 mysqldumpMySql資料庫
- 遷移資料庫到ASM資料庫ASM
- dm資料庫遷移命令資料庫
- 【資料遷移】RMAN遷移資料庫到ASM(三)遷移onlinelog等到ASM資料庫ASM
- 在非 laravel 專案中使用 laravel 的特性 4: 資料庫遷移 migrationLaravel資料庫
- Laravel 資料遷移給表新增註釋Laravel
- 康孚備份資料庫時報錯資料庫
- 怎樣快速搞定laravel資料填充與資料遷移Laravel
- 雲資料庫管理與資料遷移資料庫
- 【資料遷移】RMAN遷移資料庫到ASM(一)建立ASM磁碟組資料庫ASM
- 騰訊雲 雲資料庫遷移資料庫
- 資料庫邏輯遷移方案資料庫
- linux mysql資料庫遷移LinuxMySql資料庫