programing

서로 다른 데이터베이스 간의 MySQL InnoDB 외부 키

sourcejob 2022. 12. 24. 17:42
반응형

서로 다른 데이터베이스 간의 MySQL InnoDB 외부 키

InnoDB에서 가능한지 알고 싶습니다.MySQL을 가지다table다른 테이블에서 다른 테이블을 참조하는 외부 키를 사용하여database?

그렇다면 어떻게 해야 할까요?

https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html 에는 제한이 없습니다.

otherdb.othertable을 사용하면 됩니다.

가능: 링크에서 실행 가능

예(테이블1은 database1에, HelloTable은 database2에 있습니다).

ALTER TABLE Table1 
ADD foreign key FK_table1(ColumnNameFromTable1)
REFERENCES db2.HelloTable(ColumnNameFromHelloTable)

다음은 테이블 t2에 외부 키를 추가하는 방법이며, 테이블 db1.historial(codh)에서 참조합니다.

alter table t2
add foreign key FK_t2(micod2)
    references db1.historial(codh)
    on delete cascade
    on update cascade;
ALTER TABLE `tablename1`
ADD CONSTRAINT `tablename1_student_id_foreign` 
FOREIGN KEY (`tablename1`.`id`) 
REFERENCES `db2`.`tablename2`(`id`)
ON DELETE CASCADE ON UPDATE CASCADE;

테이블 호출 응답이 db1에 있고 학생이 db2에 있는 경우 ramiyusu_module에 있습니다.

다음과 같이 입력해야 합니다.

ALTER TABLE `answers`
ADD CONSTRAINT `answers_student_id_foreign` 
FOREIGN KEY (`id`)
REFERENCES `ramiyusu_offline`.`student`(`id`) 
ON DELETE CASCADE ON UPDATE CASCADE;

언급URL : https://stackoverflow.com/questions/3905013/mysql-innodb-foreign-key-between-different-databases

반응형