三个表,用户表,角色表,用户角色关联表。已经建立外键,sql的增删改查该怎么写?

PKID和rid是外键。... PKID和rid是外键。 展开
 我来答
百度网友423c606
2013-04-16 · TA获得超过507个赞
知道小有建树答主
回答量:188
采纳率:0%
帮助的人:107万
展开全部
Roles,Users, 相当于基础表
user_roles是汇总表
所以,增删改查的时候都是先操作基础表,然后操作汇总表
更多追问追答
追问
能不能具体的写一下更新的代码啊!!!
追答
更新分好几种情况呢,你想看哪一种?是单独更新角色信息,单独更新用户信息,还是直接更新用户权限
luckyConn
2013-04-16 · 超过11用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:32.1万
展开全部
语句还是正常语法,就insert delete update select ,只是顺序需要注意下。增改:role ->关联表-> user。删:关联表 ->user->role。查:都一样。
追问
能不能详细点啊?
追答

咦,你这是多对多的关系?一个角色多个用户,一个用户多个角色?一个用户能属于多个角色吗?

用户里应该有角色Id,做角色表的外键。

参考下吧。这个是一对多的,一个角色多个用户。user:

<select id="findAllUser" resultMap="user">
select USER_ID,ROLE_ID,USER_NAME,PASSWORD,PHONE,MOBILE,EMAIL,ADDRESS,REG_DT,STCHG_DT,ADMIN_ID from cs_user
</select>

<insert id="insertUser" parameterClass="user">
insert into cs_user (USER_ID,ROLE_ID,USER_NAME,PASSWORD,PHONE,MOBILE,EMAIL,ADDRESS,REG_DT,STCHG_DT,ADMIN_ID) values (#userid#,#roleid#,#username#,#password#,#phone#,#mobile#,#email#,#address#,#regdt#,#stchgdt#,#adminid#)
</insert>

<update id="updateUser" parameterClass="user">
update cs_user set ROLE_ID=#roleid# , USER_NAME=#username# , PASSWORD=#password# , PHONE=#phone# , MOBILE=#mobile# , EMAIL=#email# , ADDRESS=#address# , REG_DT=#regdt# , STCHG_DT = #stchgdt# , ADMIN_ID = #adminid# where USER_ID=#userid#
</update>

<delete id="deleteUserByID" parameterClass="java.lang.String">
delete from cs_user_login where USER_ID=#userid#
delete from cs_user_role where USER_ID=#userid#
delete from cs_op_log where USER_ID=#userid#
delete from cs_user where USER_ID=#userid#
</delete>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式