mysql - 我不能在触发器更新 mysql 中删除数据联合吗?
问题描述
您好,我在 mysql 中有一个名为example的表,其下一个字段a、b、c al 字段是 varchar 255,并且每列唯一。
我在插入之前使用触发器执行的每列的唯一限制;
表格示例:
------------
a b c
------------
a c
b
d e
f g
h
i
j
k
l n
c
a
该表没问题,因为每列中的所有值都是唯一的例外,即“”
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', '') 已被删除。
合并('j','a','i')
------------
a b c
------------
a c
b
d e
f g
h
j a i
k
l n
c
我不需要合并 ecample ('', '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 触发器,任何其他想法。
我的目标是在数据库中执行逻辑,如果我必须调用一个过程,则阻止表上的更新,使其符合所有唯一行的限制
解决方案
推荐阅读
- plugins - Can't use vim-surround with IdeaVim
- javascript - 如何访问对象属性?
- docker - 在 docker 文件中包含 If else 语句
- php - 在浏览器中播放未知大小的音频文件
- python - Pandas groupby 计数在同一行中有标题
- python - 如何清理大数据并在 pandas 中重塑它?
- wordpress - 根据每个自定义帖子的转发器字段值动态更改 ACF 选择字段
- javascript - Redux 在状态更改后反应不重新渲染组件
- r - 如何将 20+ csv 文件合并到 R 中的 1 个数据框中(每次添加新文件时添加新列)
- python - 获取嵌套字典与列表的组合数