鍍金池/ 問答/PHP  數(shù)據(jù)庫/ Laravel 5.5 使用 PHP artisan migrate 的問題,已

Laravel 5.5 使用 PHP artisan migrate 的問題,已經(jīng)設(shè)置了 utf8mb4,依然報(bào)錯(cuò)

php artisan migrate 報(bào)錯(cuò)
圖片描述

  [Illuminate\Database\QueryException]
  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQ
  L: 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

google了,說是數(shù)據(jù)庫utf8mb4才行,改了,檢查了主從數(shù)據(jù)庫都沒問題,都是utf8mb4
圖片描述

然后還是這個(gè)錯(cuò)誤

回答
編輯回答
若相惜

php .\artisan migrate --pretend
輸出sql瞧瞧, 看報(bào)錯(cuò)是索引長(zhǎng)度 問題吧.

2017年7月30日 09:27
編輯回答
情殺

laravel 建議是使用mysql版本>5.6,否則就會(huì)報(bào)這個(gè)錯(cuò)誤的

2018年4月21日 14:17
編輯回答
空痕

哥們,你是沒改database配置文件吧,圖片描述

一般來說 utf-8就已經(jīng)足夠了,當(dāng)然utf8mb4也有一些特殊用途,例如存儲(chǔ)特殊字符,存儲(chǔ)的數(shù)據(jù)也要比utf-8要多,所需要的長(zhǎng)度就越大,我經(jīng)常也出現(xiàn)這種情況,沒特殊需要我就直接改為utf-8,有需要我就utf8mb4,那就要注意字段長(zhǎng)度了。

2017年12月21日 07:14
編輯回答
真難過

我也遇到這個(gè)問題了, 我補(bǔ)充下答案.

具體修改的文件位置

./app/providers/appServiceProvider.php

搜索的相關(guān)資料

Laravel5.5問題:SQLSTATE Syntax...

索引長(zhǎng)度&MySQL/MariaDB

2017年5月5日 07:41
編輯回答
疚幼

我覺得你應(yīng)該設(shè)置一下這個(gè)試試:

clipboard.png

2018年7月13日 11:33