免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2509 | 回复: 1
打印 上一主题 下一主题

完整性约束问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-04-07 15:30 |只看该作者 |倒序浏览
MYsql数据库:  
我有下面几个个表:
  1.   
  2. CREATE  TABLE  board  (   
  3. boardid  int(10)  unsigned  NOT  NULL  auto_increment,   
  4. boardname  varchar(100)  NOT  NULL,   
  5. boardnum  int(10)  unsigned  NOT  NULL,   
  6. PRIMARY  KEY  (boardid),  
  7. KEY  boardnum(boardnum)  
  8. );   
  9. CREATE  TABLE  forum  (  
  10. forumid  smallint(5)  unsigned  NOT  NULL  auto_increment,  
  11. boardid  smallint(5)  unsigned  DEFAULT  '0'  NOT  NULL  ,   
  12. styleid  smallint(5)  unsigned  DEFAULT  '0'  NOT  NULL,  
  13. title  char(100)  NOT  NULL,  
  14. description  char(250)  NOT  NULL,   
  15. forumkind  smallint(6)  DEFAULT  '0'  NOT  NULL,   
  16. forumlogo  char(50)  NOT  NULL,  
  17. forumimage  char(50)  NOT  NULL  DEFAULT  '0'  NOT  NULL,  
  18. islocked  smallint(5)  unsigned  DEFAULT  '0'  NOT  NULL,   
  19. canxbbcode  smallint(6)  DEFAULT  '1'  NOT  NULL,   
  20. cancode  smallint(6)  DEFAULT  '1'  NOT  NULL,   
  21. cancolor  smallint(6)  DEFAULT  '1'  NOT  NULL,   
  22. canemail  smallint(6)  DEFAULT  '1'  NOT  NULL,   
  23. canflash  smallint(6)  DEFAULT  '0'  NOT  NULL,  
  24. canfont  smallint(6)  DEFAULT  '1'  NOT  NULL,  
  25. canimage  smallint(6)  DEFAULT  '1'  NOT  NULL,   
  26. canmedia  smallint(6)  DEFAULT  '0'  NOT  NULL,  
  27. cantext  smallint(6)  DEFAULT  '1'  NOT  NULL,   
  28. canurl  smallint(6)  DEFAULT  '1'  NOT  NULL,  
  29. cancss  smallint(6)  DEFAULT  '1'  NOT  NULL,  
  30. canupload  smallint(6)  DEFAULT  '0'  NOT  NULL,  
  31. uploadsize  smallint(6)  NOT  NULL,  
  32. PRIMARY  KEY  (forumid),  
  33. key  boardid(boardid)//这里  
  34. );   
  35. CREATE  TABLE  topic  (   
  36. topicid  int(10)  unsigned  NOT  NULL  auto_increment,   
  37. forumid  smallint(5)  unsigned  DEFAULT  '0'  NOT  NULL,   
  38. title  varchar(100)  NOT  NULL,   
  39. lastpost  char(20)  DEFAULT  '0000-00-00  00:00:00'  NOT  NULL,  
  40. pollid  int(10)  unsigned  DEFAULT  '0'  NOT  NULL,   
  41. username  varchar(50)  NOT  NULL,   
  42. userid  int(10)  unsigned  DEFAULT  '0'  NOT  NULL,   
  43. dateline  char(20)  DEFAULT  '0000-00-00  00:00:00'  NOT  NULL,   
  44. hits  int(10)  unsigned  DEFAULT  '0'  NOT  NULL,   
  45. iconname  varchar(50)  NOT  NULL,   
  46. notes  varchar(250)  NOT  NULL,   
  47. islocked  smallint(5)  unsigned  DEFAULT  '0'  NOT  NULL,  
  48. istop  smallint(5)  unsigned  DEFAULT  '0'  NOT  NULL,  
  49. PRIMARY  KEY  (topicid),  
  50. KEY  forumid  (forumid),//这里  
  51. key  lastpost(lastpost)  
  52. );   

  53. CREATE  TABLE  post  (   
  54. postid  int(10)  unsigned  NOT  NULL  auto_increment,   
  55. topicid  int(10)  unsigned  DEFAULT  '0'  NOT  NULL,   
  56. userid  int(10)  unsigned  DEFAULT  '0'  NOT  NULL,   
  57. dateline  char(20)  DEFAULT  '0000-00-00  00:00:00'  NOT  NULL,   
  58. pagetext  mediumtext  NOT  NULL,   
  59. isedit  smallint(5)  DEFAULT  '0'  NOT  NULL,   
  60. edituserid  int(10)  unsigned  DEFAULT  '0'  NOT  NULL,   
  61. editdate  char(20)  DEFAULT  '0000-00-00  00:00:00'  NOT  NULL,  
  62. ipaddress  varchar(16)  NOT  NULL,   
  63. PRIMARY  KEY  (postid),   
  64. key  userid(userid),   
  65. KEY  topicid  (topicid)  //这里  
  66. );   
复制代码

可以看出他们之间的外键约束关系.  
问题:每当删除一个board时候,下面的各个表中有外键约束的全部删除,怎么实现?(例如删除一个boardid=3的board,要求以board=3作为外键的的forum全部也删除,依此类推..)请写出具体语句

论坛徽章:
5
荣誉会员
日期:2011-11-23 16:44:17CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-09-18 15:15:45未羊
日期:2014-02-25 14:37:19射手座
日期:2014-12-26 22:55:37
2 [报告]
发表于 2003-04-07 21:14 |只看该作者

完整性约束问题!

新的mysql支持级联删除,用
ON DELETE  CASCADE
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP