你好,我在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触发器的操作,还有其他想法。
我的目标是该逻辑在数据库中执行,并且如果我必须调用一个过程,请阻止对表进行更新,以便它可以符合所有唯一行的限制