有人可以顯示我如何刪除兩個鏈接的行嗎?如何從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;
在我的Delphi應用我有刪除按鈕。當我在我的DBGrid上找到一些聯繫人並按刪除按鈕我只能刪除表contacts
中的聯繫人,我也想刪除聯繫人圖片。
我想刪除表contacts
中的一行,並從表Picture
中刪除一行。表Picture
鏈接到表contacts
與foreign key
。
在外鍵約束後追加'ON DELETE CASCADE'。無論您是否使用Delphi,這都能解決您的問題。 – nalply