我不能在触发器更新mysql中删除数据联合吗?

时间:2018-09-06 21:18:05

标签: mysql

你好,我在mysql中有一个名为 example 的表,其下一个字段是 a,b,c 。所有字段都是varchar 255,并且每列都是唯一的。

我在插入之前使用触发器对每列进行的唯一限制;

表格示例:

------------
a    b    c     
------------
a         c
     b
d    e
f         g
     h
          i
j
          k
     l    n
c
     a

该表还可以,因为每列中的al值都是唯一的例外,即“”

wrog表的示例

------------
a    b    c     
------------
a    b    c
     b

此表是错误的,因为字段b在两列中具有相同的值

我希望能够做下一个

我希望能够结合值的唯一性对行进行合并

示例: 将('a','','c')与(','b','')合并并获得('a','b','c')

------------
a    b    c     
------------
a    b     c
d    e
f         g
     h
          i
j
          k
     l    n
c
     a

请注意,('','b','')已删除。

Merge('j','a','i')

------------
a    b    c     
------------
a         c
     b
d    e
f         g
     h
j    a    i
          k
     l    n
c

我不需要合并(','l','n')和('','h',''),因为'a字段为空',但我需要合并(j,a, i)和('','h','')并获得

------------
a    b    c     
------------
a         c
     b
d    e
f         g
j    h    i
          k
     l    n
c

我正在尝试使用触发器,nex逻辑

如果'b'更改,则删除'b'的其他外观 如果更改了“ c”,则删除“ c”的其他外观

但是我不能做这些事情,因为我无法执行删除到mysql触发器的操作,还有其他想法。

我的目标是该逻辑在数据库中执行,并且如果我必须调用一个过程,请阻止对表进行更新,以便它可以符合所有唯一行的限制

0 个答案:

没有答案