>  기사  >  백엔드 개발  >  Laravel 마이그레이션 중에 \'고유 키가 너무 깁니다\' 오류가 발생하는 이유는 무엇입니까?

Laravel 마이그레이션 중에 \'고유 키가 너무 깁니다\' 오류가 발생하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-31 04:39:30948검색

Why Am I Getting a

Laravel 마이그레이션 오류 문제 해결: "고유 키가 너무 깁니다."

Laravel에서 사용자 테이블을 마이그레이션하려고 시도하는 동안 다음과 같은 문제가 발생할 수 있습니다. 오류: "[IlluminateDatabaseQueryException] ... 지정된 키가 너무 깁니다. 최대 키 길이는 767바이트입니다." 이 오류는 지정한 고유 키가 허용되는 최대 길이를 초과할 때 발생합니다.

문제 이해

이메일과 같은 열에 대한 Laravel의 기본 문자열 길이는 255입니다. 문자. 문자열 길이가 더 긴 열(이 경우 이메일 열의 경우 320자)에 고유 키를 생성하려고 하면 마이그레이션이 실패합니다.

오류 수정

  1. 이메일 문자열 길이 줄이기: 마이그레이션에서 이메일 열의 길이를 더 짧게 지정:
<code class="php">$table->string('email', 250);</code>
  1. 사용 기본 문자열 길이: 이메일 열의 기본 문자열 길이 사용:
<code class="php">$table->string('email');</code>
  1. AppServiceProvider에서 기본 문자열 길이 설정(Laravel 5.4 이상):

AppServiceProvider.php 파일의 부팅 방법에서 모든 마이그레이션에 대한 기본 문자열 길이를 설정합니다.

<code class="php">use Illuminate\Database\Schema\Builder;

public function boot()
{
    Builder::defaultStringLength(191);
}</code>

위 내용은 Laravel 마이그레이션 중에 \'고유 키가 너무 깁니다\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.