programing

MariaDB - 두 엔티티 간에 다수의 관계 테이블을 만듭니다.

minecode 2022. 12. 20. 21:51
반응형

MariaDB - 두 엔티티 간에 다수의 관계 테이블을 만듭니다.

MariaDB에서 다수의 관계 테이블을 만드는 데 문제가 있습니다.워크벤치, 수동 작성 스크립트 및 "Show Create Table xxxxxxxx;"를 이미 작성된 다른n 테이블에서 n 테이블로 사용해 보았습니다만, 결과는 항상 같습니다.다음 오류입니다.

Error Code: 1005. Can't create table `asi_234_api_establecimientos`.`oe_modalidad` (errno: 150 "Foreign key constraint is incorrectly formed")

테이블을 만드는 데 사용하는 코드:

CREATE TABLE `oe_modalidad` (
  `oferta_establecimiento_id` bigint(20) NOT NULL,
  `modalidad_id` bigint(20) NOT NULL,
  KEY `fk_oe_modalidades_oferta_establecimiento1_idx` (`oferta_establecimiento_id`),
  KEY `fk_oe_modalidad_modalidad1_idx` (`modalidad_id`),
  CONSTRAINT `fk_oe_modalidad_modalidad1` FOREIGN KEY (`modalidad_id`) REFERENCES `modalidad` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `fk_oe_modalidades_oferta_establecimiento1` FOREIGN KEY (`oferta_establecimiento_id`) REFERENCES `oferta_establecimiento` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB

10.0.38과 5.5.60의 두 가지 다른 버전의 MariaDB에서 실행하려고 했지만 동일한 오류가 계속 발생합니다.

다음은 매우 간단한 예입니다.

create table Table1(
    id int auto_increment key,
    name varchar(50) not null
);

create table Table2(
    id int auto_increment key,
    name varchar(50) not null
);

create table Table3(
    idTable1 int not null,
    idTable2 int not null,
    primary key(idTable1, idTable2),
    CONSTRAINT fk_table3_table1 foreign key (idTable1) references Table1 (id),
    CONSTRAINT fk_table3_table2 foreign key (idTable2) references Table2 (id)
);

또한 표 1과 표 2의 프라이머리 키는 표 3의 외부 키와 같은 타입이어야 합니다.

언급URL : https://stackoverflow.com/questions/56497624/mariadb-create-many-to-many-relationship-table-between-two-entities

반응형