我有一个mysql表,它有一个触发器,在执行更新时会激活。我想通过在姓氏中添加一个值来强制执行此触发器,但仅限于特定用户。
我的想法是让这项工作,我需要取lname
的价值并添加一些东西,如'$'。这将使触发器运行,然后重新运行一些SQL以从lname
中删除'$'。
我认为它看起来像这样:
Update table set lname = (current_value_OF_LNAME & "$")
where active = 1
然后
Update table set lname = (Remove($ from current_value_OF_LNAME)
对于伪代码很抱歉,但我想把它放在那里,看看这是否是最好的方法,或者是否有更好的方法。或者,如果有办法强迫它运行也是可以接受的。
感谢和抱歉这些问题很混乱。
答案 0 :(得分:1)
像这样的东西
Update table set lname = concat(lname,'$')
where active = 1
然后
Update table set lname = substr(lname,1,length(lname)-1)
where active = 1
您是否独自在数据库中,或者可以添加或更新更多行。我希望不是。如果是,你可以这样查询(仍然不完美但有帮助)
Update table set lname = substr(lname,1,length(lname)-1)
where substr(test,-1) = '$'