如:我有三张表:user(userId,userName,userPass);quanxian(quanxianId,quanxianName);userQuanxian(userId,quanxianId);其中userQuanxian表中的userId,quanxianId分别是user和quanxian的外键,两者合起来作为主键.
我想问的是如果我想修改某个用户的权限,这样建表如何修改??修改的SQL语句怎么写??
update userQuanxian set quanxianId=.... where userId=某一个数值 在userQuanxian表中某一个数值的userId的记录有多行,我怎么才能实现修改这个userId对应的quanxianId呢??

解决方案 »

  1.   

    这种表结构不好直接修改权限值,但是可以采用如下方法比较方便。
    比如userId为1的用户在userQuanxian表中有1,2,3权限值
    现在我要将其权限修改成2,5,6
    如果用Update方法,不好处理,可以:
    1,delete from userQuanxian where userId=1
    2,insert into userQuanxian (userId,quanxianId) values(1,2);
       insert into userQuanxian (userId,quanxianId) values(1,5);
       insert into userQuanxian (userId,quanxianId) values(1,6);
    其结果相当于完成了修改的工作。注意采用事务处理,This all.