누군가 내 연결된 행을 삭제하는 방법을 보여줄 수 있습니까?MySQL 데이터베이스에서 두 개의 연결된 행을 삭제하는 방법은 무엇입니까?
저는 Delphi 2007과 MySQL을 사용합니다.
내가 두 개의 테이블이있는 데이터베이스가 내 델파이 응용 프로그램에서
CREATE TABLE `Picture`.`Picture` (
`ID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`IMG` LONGBLOB,
PRIMARY KEY (`ID`)
)
ENGINE = InnoDB;
CREATE TABLE `contacts` (
`ID` int(10) unsigned NOT NULL auto_increment,
`FirstName` varchar(45) NOT NULL,
`LastName` varchar(45) NOT NULL,
`Phone` varchar(45) default NULL,
`PICID` int(10) unsigned default NULL,
PRIMARY KEY (`ID`),
KEY `FK_contacts_1` (`PICID`),
CONSTRAINT `FK_contacts_1` FOREIGN KEY (`PICID`) REFERENCES `picture` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
은 내가 이 삭제 버튼을 가지고있다. DBGrid에서 연락처를 찾은 다음 버튼을 삭제하면 contacts
테이블의 연락처 만 삭제할 수 있으며 연락처 사진도 삭제하고 싶습니다.
테이블 contacts
의 행과 테이블 Picture
의 행을 삭제하고 싶습니다. 표 Picture
은 표 contacts
에 foreign key
으로 연결됩니다. ON DELETE CASCADE
와
외래 키 제약 조건 뒤에'ON DELETE CASCADE'를 덧붙입니다. 이렇게하면 Delphi를 사용하든 사용하지 않든이 문제가 해결됩니다. – nalply