1
나는이외래 키
CREATE TABLE master (masterId INT PRIMARY KEY, slaveId INT);
CREATE TABLE slave (slaveId INT PRIMARY KEY, something INT,
CONSTRAINT fk FOREIGN KEY (slaveId) REFERENCES master(slaveId));
및
DELETE master, slave FROM master m JOIN slave s ON m.slaveId = s.slaveId
WHERE something = 43;
같은 즉, 두 테이블에서 삭제할 필요가 같은 외래 키를 가진 두 개의 테이블이있는 H2 데이터베이스 (이 AFAIK는 MySql에서 작동합니다). 외래 키 때문에 마스터에서 먼저 삭제할 수 없습니다. 슬레이브에서 삭제를 시작하면 마스터에서 삭제할 행에 대한 정보가 손실됩니다. ON DELETE CASCADE를 사용하면 도움이되지만 매번 자동으로 실행되는 것을 원하지는 않습니다. 일시적으로 허용해야합니까? 임시 테이블을 사용해야합니까? 아니면 가장 좋은 솔루션은 무엇입니까?