还有一种这样的情况ID IDLink     Pid  Sid
7  1-7        1    1

解决方案 »

  1.   

    这是什么情况就是当只有两级的时候Pid跟Sid一样取IDLink的第一个
    当只有三级的时候Pid跟Sid一样取IDLink的第二个
    当四级以上的时候Pid取IDLink的第二个 Sid取IDLink的倒数第二个我现在直接更新的是
    UPDATE Table1 SET Sid = IF(SUBSTRING_INDEX(SUBSTRING_INDEX(IDLink,'-',2),'-',-1)=ID, 1, SUBSTRING_INDEX(SUBSTRING_INDEX(IDLink,'-',2),'-',-1))
    但是不知道放触发器应该怎么弄
      

  2.   

    可以直接在 before insert, before update 触发器中实现啊。 SUBSTRING_INDEX(NEW.IDLink,'-