Laravel 마이그레이션 기본(또는 키) "식별자 이름이 너무 깁니다."
복합 기본 키를 지정하는 간단한 Laravel 마이그레이션 파일이 있습니다.
// ...
public function up()
{
Schema::create('my_super_long_table_name', function($table)
{
$table->integer('column_1');
$table->integer('column_2');
$table->integer('column_3');
$table->primary(['column_1', 'column_2', 'column_3']);
});
}
// ...
그리고 달릴때는php artisan migrate
다음 오류가 발생합니다.
SQLSTATE[42000]: Syntax error or access violation: 1059 Identifier name 'my_super_long_table_name_column_1_column_2_column_3' is too long
키를 생성할 때 키 이름을 지정하기만 하면 됩니다(두 번째 인수 포함).primary
).
$table->primary(['column_1', 'column_2', 'column_3'], 'my_long_table_primary');
다음 분.
오류가 있는 경우 다음과 같이.You have an error in your SQL syntax ...
이 수정 후 키 이름에 대해 데이터베이스 엔진에 의해 예약된 단어를 사용하지 않는지 확인하십시오.
예: MySQL: http://dev.mysql.com/doc/refman/5.6/en/reserved-words.html
팁:primary
예약되어 있으므로 사용하지 마십시오 ;)
언급URL : https://stackoverflow.com/questions/28626906/laravel-migration-primary-or-key-identifier-name-is-too-long
'programing' 카테고리의 다른 글
CORS 및 Access-Control-Allow-Header는 어떻게 작동합니까? (0) | 2023.09.26 |
---|---|
Mysql 하위 선택이 매우 느립니다. (0) | 2023.09.26 |
MySQL의 다른 일부 열과 함께 고유 열 선택 (0) | 2023.09.26 |
C vs C++ 사이즈의 (0) | 2023.09.26 |
메모리의 지정된 절대 주소에 변수를 배치하는 방법(GCC 사용) (0) | 2023.09.21 |