- 论坛徽章:
- 0
|
MYsql数据库:
我有下面几个个表:
-
- CREATE TABLE board (
- boardid int(10) unsigned NOT NULL auto_increment,
- boardname varchar(100) NOT NULL,
- boardnum int(10) unsigned NOT NULL,
- PRIMARY KEY (boardid),
- KEY boardnum(boardnum)
- );
- CREATE TABLE forum (
- forumid smallint(5) unsigned NOT NULL auto_increment,
- boardid smallint(5) unsigned DEFAULT '0' NOT NULL ,
- styleid smallint(5) unsigned DEFAULT '0' NOT NULL,
- title char(100) NOT NULL,
- description char(250) NOT NULL,
- forumkind smallint(6) DEFAULT '0' NOT NULL,
- forumlogo char(50) NOT NULL,
- forumimage char(50) NOT NULL DEFAULT '0' NOT NULL,
- islocked smallint(5) unsigned DEFAULT '0' NOT NULL,
- canxbbcode smallint(6) DEFAULT '1' NOT NULL,
- cancode smallint(6) DEFAULT '1' NOT NULL,
- cancolor smallint(6) DEFAULT '1' NOT NULL,
- canemail smallint(6) DEFAULT '1' NOT NULL,
- canflash smallint(6) DEFAULT '0' NOT NULL,
- canfont smallint(6) DEFAULT '1' NOT NULL,
- canimage smallint(6) DEFAULT '1' NOT NULL,
- canmedia smallint(6) DEFAULT '0' NOT NULL,
- cantext smallint(6) DEFAULT '1' NOT NULL,
- canurl smallint(6) DEFAULT '1' NOT NULL,
- cancss smallint(6) DEFAULT '1' NOT NULL,
- canupload smallint(6) DEFAULT '0' NOT NULL,
- uploadsize smallint(6) NOT NULL,
- PRIMARY KEY (forumid),
- key boardid(boardid)//这里
- );
- CREATE TABLE topic (
- topicid int(10) unsigned NOT NULL auto_increment,
- forumid smallint(5) unsigned DEFAULT '0' NOT NULL,
- title varchar(100) NOT NULL,
- lastpost char(20) DEFAULT '0000-00-00 00:00:00' NOT NULL,
- pollid int(10) unsigned DEFAULT '0' NOT NULL,
- username varchar(50) NOT NULL,
- userid int(10) unsigned DEFAULT '0' NOT NULL,
- dateline char(20) DEFAULT '0000-00-00 00:00:00' NOT NULL,
- hits int(10) unsigned DEFAULT '0' NOT NULL,
- iconname varchar(50) NOT NULL,
- notes varchar(250) NOT NULL,
- islocked smallint(5) unsigned DEFAULT '0' NOT NULL,
- istop smallint(5) unsigned DEFAULT '0' NOT NULL,
- PRIMARY KEY (topicid),
- KEY forumid (forumid),//这里
- key lastpost(lastpost)
- );
-
- CREATE TABLE post (
- postid int(10) unsigned NOT NULL auto_increment,
- topicid int(10) unsigned DEFAULT '0' NOT NULL,
- userid int(10) unsigned DEFAULT '0' NOT NULL,
- dateline char(20) DEFAULT '0000-00-00 00:00:00' NOT NULL,
- pagetext mediumtext NOT NULL,
- isedit smallint(5) DEFAULT '0' NOT NULL,
- edituserid int(10) unsigned DEFAULT '0' NOT NULL,
- editdate char(20) DEFAULT '0000-00-00 00:00:00' NOT NULL,
- ipaddress varchar(16) NOT NULL,
- PRIMARY KEY (postid),
- key userid(userid),
- KEY topicid (topicid) //这里
- );
复制代码
可以看出他们之间的外键约束关系.
问题:每当删除一个board时候,下面的各个表中有外键约束的全部删除,怎么实现?(例如删除一个boardid=3的board,要求以board=3作为外键的的forum全部也删除,依此类推..)请写出具体语句 |
|