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 migration (資料庫遷移) 的使用Laravel資料庫
- Laravel 學習之資料庫遷移Laravel資料庫
- Laravel資料庫遷移和填充(支援中文)Laravel資料庫
- Laravel5.4框架中資料庫遷移Laravel框架資料庫
- Laravel5.x的php artisan migrate資料庫遷移建立操作報錯SQLSTATE[42000]解決LaravelPHP資料庫SQL
- Laravel5.4 資料庫遷移錯誤 SQLSTATE [42000] Syntax error or access violation 1071Laravel資料庫SQLError
- 資料庫遷移資料庫
- redis資料庫遷移Redis資料庫
- 資料庫遷移 :理解資料庫
- 在非 laravel 專案中使用 laravel 的特性 4: 資料庫遷移 migrationLaravel資料庫
- linux mysql資料庫遷移LinuxMySql資料庫
- django資料庫遷移-15Django資料庫
- 用rman遷移資料庫資料庫
- 資料庫遷移手記資料庫
- 遷移MySQL 5.7資料庫MySql資料庫
- 資料庫遷移神器——Flyway資料庫
- dm資料庫遷移命令資料庫
- SQL Server資料庫遷移SQLServer資料庫
- 雲資料庫管理與資料遷移資料庫
- 高速遷移MySQL資料到分散式時序資料庫DolphinDBMySql分散式資料庫
- Laravel 資料遷移給表新增註釋Laravel
- 解決遷移資料庫錯誤,索引長度過長資料庫索引
- dnf資料庫備份&遷移資料庫
- OGG資料庫遷移方案(一)資料庫
- OGG資料庫遷移方案(二)資料庫
- OGG資料庫遷移方案(三)資料庫
- OGG資料庫遷移方案(四)資料庫
- 資料庫邏輯遷移方案資料庫
- 時間緊急!資料庫遷移怎麼才能更快?資料庫
- 遷移Oracle資料庫時如何減小停機時間AAOracle資料庫
- 怎樣快速搞定laravel資料填充與資料遷移Laravel
- 3分鐘短文:一看就是乾貨!Laravel遷移資料庫!Laravel資料庫
- 遷移資料庫資料考慮問題資料庫
- Oracle資料庫(資料泵)遷移方案(上)Oracle資料庫
- Oracle資料庫(資料泵)遷移方案(下)Oracle資料庫
- 無外網Oracle資料庫遷移Oracle資料庫
- Oracle資料庫(DataGuard)遷移方案(上)Oracle資料庫