sql联动删除,删除触发器怎样来设置

我有3个表管理员表managerAdminId--AdminName---AdminFlagId模块表modular,ModularId--ModularName表3ad... 我有3个表
管理员表 manager AdminId--AdminName---AdminFlagId
模块表 modular ,ModularId--ModularName
表3adminmodular 里面有3个字段 id----AdminId-----ModularId,
AdminId是manager表的外键,ModularId是modular表的外键,

以表3为主,执行SQL语句,把3表结合起来:
select * from bs_adminmodular a inner join bs_manager b on a.AdminId=b.AdminId join bs_modular c on a.ModularId=c.ModularId
获取到结果,显示部分字段
--------------------------------------------
id----AdminName----ModularName
--------------------------------------------

1 xiaoming 评论模块
2 xiaoming 内容模块
-----------------------------------------
怎样把2条结果合成一条,1-----xiaoming-------评论模块,内容模块?
还有就是删除管理员的时候,怎样把表3里的相关数据也删除,联动删除,是要触发器吗,那应该怎样设置,就我这3个表来设置
搞张结果的截图,你可能会明白点
展开
 我来答
楼喽读昂
2012-11-05 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:67.8万
展开全部
关于合并,没有太明白你的具体要求。
第二个问题,两种解法,如果是innodb表可以通过建立外键约束来级联删除,语法如下:
[CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name, ...)
REFERENCES tbl_name (index_col_name,...)
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION
第二种就是设置after delete trigger
追问
那个合并相当于把3个表的字段都合在一起了,然后那个管理员可以管理多个模块, 想要的结果图
---------------------------------------
id AdminName ModularName
---------------------------------------------------
1 xiaoming 评论模块,内容模块
------------------------------------------
xiaoming重复叠在一起。那MyISAM引擎怎么写
追答
我有一个办法,借助group_concat():
select Adminname,group_concat(ModularName)
from bs_adminmodular a inner join bs_manager b on a.AdminId=b.AdminId join bs_modular c on a.ModularId=c.ModularId
group by Adminname;
我么有选择id字段
对的,就是这种方法
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式