一个是user表,有id,userName,flag字段
一个是friend表,有id,userId,friendId,flag字段
userId与friendId都和user表里面的id相对应,
要删除user表里的一个user的时候,friend表中关与user的信息也要删除.
这个该怎么实现???我的数据库用的mysql,没有用hibernate
听说有几种方法 
1,用sql句的嵌套该怎么实现呢,请给例子?
2,用事务该怎么处理呢,给例子?
3,用存储过程该怎么处理呢,给例子?
回答就有分!!!!

解决方案 »

  1.   

    对,用的不是物理删除,用的删除标志flag来进行删除的
      

  2.   

    跟 sql句的嵌套不嵌套没有多大的干系,只要放在一个事务里面就可以了。1,用sql句的嵌套该怎么实现呢,请给例子?
    2,用事务该怎么处理呢,给例子?
    3,用存储过程该怎么处理呢,给例子?这三个处理的方式,本质上有什么不同么?都是需要在一个事务里面,这就可以了
      

  3.   

    不要轻易删除可能被关联的数据,应该是记录一个删除标记,标记为删除的用户不可登录。
    想想看,如果别人做的系统用到一个表A,他总是直接删除记录,而你在新增功能时,有一个功能要关联到表A,这就会造成他的程序无法删除记录(mysql例外,能删除,但你的程序可能因关联记录被删除导致出错),除非你修改他的程序。
      

  4.   

    用触发器实现比较简单。user表 on delete {
      
      update  friend表
         set flag = 'delete'
      where userid = user表.userid }