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

Laravel 5.5 使用 PHP artisan migrate 的問(wèn)題,已經(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了,說(shuō)是數(shù)據(jù)庫(kù)utf8mb4才行,改了,檢查了主從數(shù)據(jù)庫(kù)都沒(méi)問(wèn)題,都是utf8mb4
圖片描述

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

回答
編輯回答
若相惜

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

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

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

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

哥們,你是沒(méi)改database配置文件吧,圖片描述

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

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

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

具體修改的文件位置

./app/providers/appServiceProvider.php

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

Laravel5.5問(wèn)題:SQLSTATE Syntax...

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

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

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

clipboard.png

2018年7月13日 11:33