gpt4 book ai didi

php - 删除主行和所有子项 mysql 和 php

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

我继承了一个 PHP 项目,客户想在他们的 CMS 中添加一些功能,基本上 CMS 允许他们创建一些新闻,所有新闻都以相同的内容开头,并且保存在一个表中,实际上新闻标题和文章保存在另一个表中,新闻图像保存在另一个表中,基本上如果删除新闻的基本行我需要删除所有相关行,数据库未设置为可以使用外键,所以我不能使用级联删除,那么当我只有基本新闻行的 ID 时,如何删除我需要的所有内容?

任何帮助都会很有帮助很抱歉,我不能给你更多的帮助,如果有帮助的话,这是表方案的原始 SQL 吗?

    --
-- Table structure for table `mailers`
--

CREATE TABLE IF NOT EXISTS `mailers` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`mailer_title` varchar(150) NOT NULL,
`mailer_header` varchar(60) NOT NULL,
`mailer_type` enum('single','multi') NOT NULL,
`introduction` varchar(80) NOT NULL,
`status` enum('live','dead','draft') NOT NULL,
`flag` enum('sent','unsent') NOT NULL,
`date_mailer_created` int(11) NOT NULL,
`date_mailer_updated` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;

-- --------------------------------------------------------

--
-- Table structure for table `mailer_content`
--

CREATE TABLE IF NOT EXISTS `mailer_content` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`headline` varchar(60) NOT NULL,
`content` text NOT NULL,
`mailer_id` int(11) NOT NULL,
`position` enum('left','right','centre') DEFAULT NULL,
`created_at` int(10) NOT NULL,
`updated_at` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=18 ;

-- --------------------------------------------------------

--
-- Table structure for table `mailer_images`
--

CREATE TABLE IF NOT EXISTS `mailer_images` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(150) NOT NULL,
`filename` varchar(150) NOT NULL,
`mailer_id` int(11) NOT NULL,
`content_id` int(11) DEFAULT NULL,
`date_created` int(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;

值得注意的是,模式不能更改,我也不能将数据库更改为 MYISAM,以便我可以使用外键。

最佳答案

向表 mailer_content 添加外键

FOREIGN KEY (mailer_id)
REFERENCES mailers(id)
ON DELETE CASCADE

将外键添加到表 mailer_images

FOREIGN KEY (content_id)
REFERENCES mailer_content(id)
ON DELETE CASCADE

http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html

关于php - 删除主行和所有子项 mysql 和 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3332988/

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