问题描述:
有2张表,Thread,Post。Thread表:
CREATE TABLE `thread` (
`id` int(11) NOT NULL,
`board_id` int(11) default NULL,
`createtime` datetime default NULL,
`iselite` tinyint(4) default NULL,
`view` int(11) default NULL,
`lastauthor` varchar(80) default NULL,
`lastposttime` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='主题';
Post表:
CREATE TABLE `post` (
`id` int(11) NOT NULL,
`author_id` int(11) default NULL,
`thread_id` int(11) default NULL,
`subject` varchar(80) default NULL,
`content` mediumtext,
`first` tinyint(1) default NULL,
`posttime` datetime default NULL,
`ip` varchar(16) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='贴子';现在我想实现删除Thread表中某条记录,Post表中相关的记录一起被删除/
就是论坛当中的删除主题,与该主题相关的帖子也OVER的功能。请问在MySql当中如何写SQL语句呢?
有2张表,Thread,Post。Thread表:
CREATE TABLE `thread` (
`id` int(11) NOT NULL,
`board_id` int(11) default NULL,
`createtime` datetime default NULL,
`iselite` tinyint(4) default NULL,
`view` int(11) default NULL,
`lastauthor` varchar(80) default NULL,
`lastposttime` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='主题';
Post表:
CREATE TABLE `post` (
`id` int(11) NOT NULL,
`author_id` int(11) default NULL,
`thread_id` int(11) default NULL,
`subject` varchar(80) default NULL,
`content` mediumtext,
`first` tinyint(1) default NULL,
`posttime` datetime default NULL,
`ip` varchar(16) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='贴子';现在我想实现删除Thread表中某条记录,Post表中相关的记录一起被删除/
就是论坛当中的删除主题,与该主题相关的帖子也OVER的功能。请问在MySql当中如何写SQL语句呢?
解决方案 »
- mysql 求时间差的总和
- 新手求救:mysql存储过程cannot be found in database
- 随机问题
- 请教“install plugin ...”在mysql哪个版本才开始支持的?
- Servlet与mysql连接的问题
- 使用C/C++程序如果想Mysql中插入一条含有blob类型的数据记录?
- 由于重新换了mysql原来数据库的三种文件只剩下了.frm的,怎么恢复
- mysql中关于like的问题
- 表格的数据如何去重啊?
- mysql重启服务失败 很急,求解答
- 在postgresql中如何将一个Integer的字段in到另一个integer[]类型的字段中?
- SQL 2005 Express 版本没有SSIS功能吗?
也可以用程序删,不过就要多向数据库发一次QUERY
我用的是mysql5的,[email protected]我的邮箱。
`id` int(11) NOT NULL,
`author_id` int(11) default NULL,
`thread_id` int(11) default NULL,
`subject` varchar(80) default NULL,
`content` mediumtext,
`first` tinyint(1) default NULL,
`posttime` datetime default NULL,
`ip` varchar(16) default NULL,
PRIMARY KEY (`id`),
foreign key(thread_id) references thread(id) on delete cascade
) ENGINE=InnoDB DEFAULT CHARSET=gbk COMMENT='贴子';这样当你删除Thread的一条记录的时候,它会级联删除Post表的相关记录.
不过刚才复制你的语句进去又行,真的又行了.^_^
谢谢mschen(Co-ok) ,ping027(平).