반응형
외부 키 제약 조건을 설정하는 방법이 라벨 5.8에서 잘못 형성되었습니다.
나는 그곳에 옮겨야 할 테이블이 있습니다.내가 그 테이블을 서버 데이터베이스로 마이그레이션하려고 하면 일반 오류: 1005가 표시되고 아래에 오류와 서버 세부 정보를 제공합니다.제가 실수 없이 이주할 수 있도록 도와주세요.
1.)사용자
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
2.)가짜는
Schema::create('companies', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->longText('description');
$table->unsignedInteger('user_id');
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users');
});
3.1987년
Schema::create('projects', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->longText('description');
$table->unsignedInteger('company_id');
$table->unsignedInteger('user_id');
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users');
$table->foreign('company_id')->references('id')->on('companies');
});
서버 상세 내역
server: 127.0.0.1 via TCP/IP
Server type: MariaDB
Server connection: SSL is not being used Documentation
Server version: 10.1.38-MariaDB - mariadb.org binary distribution
Protocol version: 10
User: root@localhost
Server charset: UTF-8 Unicode (utf8)
DB Name: laravel
오류:
Illuminate\Database\QueryException : SQLSTATE[HY000]: General error: 1005 Can't create table `laravel`.`#sql-91c_30` (errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter table `companies` add constraint `companies_user_id_foreign` foreign key (`use
r_id`) references `users` (`id`))
제가 보기에, 당신이 bigInteger의 PK와 정수의 외부 키를 생성하고 있기 때문에 데이터 유형 불일치의 불일치 문제가 있습니다.
Schema::create('companies', function (Blueprint $table) {
...
$table->unsignedBigInteger('user_id');
});
그리고 다른 표에서는
Schema::create('projects', function (Blueprint $table) {
...
$table->unsignedBigInteger('company_id');
$table->unsignedBigInteger('user_id');
});
이렇게 하고 다시 확인합니다.
언급URL : https://stackoverflow.com/questions/55805372/how-to-set-foreign-key-constraint-is-incorrectly-formed-in-laravel-5-8
반응형
'IT' 카테고리의 다른 글
Elastic Beanstalk Java 환경에 배포된 Spring Boot 애플리케이션이 502를 반환합니다. (0) | 2023.07.27 |
---|---|
JSONP 요청이 작동하는 방식에 대해 혼동됨 (0) | 2023.07.27 |
파이썬이 64비트 응용 프로그램으로 실행되고 있는지 어떻게 탐지합니까? (0) | 2023.07.27 |
node --harmony는 무엇을 합니까? (0) | 2023.07.27 |
여러 프로세스 간에 결과 대기열 공유 (0) | 2023.07.27 |