gpt4 book ai didi

mysql - 如何从 MySQL 数据库中删除两个链接的行?

转载 作者:行者123 更新时间:2023-11-29 08:45:05 25 4
gpt4 key购买 nike

有人可以告诉我如何删除两个链接的行吗?

我使用 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 上找到某些联系人并按 Delete 按钮时,我只能从表 contacts 中删除联系人,我还想删除联系人图片。

我想从表 contacts 中删除行,并从表 Picture 中删除行。表Picture 通过外键链接到表contacts

最佳答案

将 FK 与 ON DELETE CASCADE 一起使用 - http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html

当您从主表Picture中删除一行时,SQL引擎会级联到明细表并在那里删除。

关于mysql - 如何从 MySQL 数据库中删除两个链接的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12691376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com