0

我有一个 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)

很抱歉伪代码,但我想把它放在那里,看看这是否是最好的方法,或者是否有更好的方法。或者,如果有一种方法可以强制它运行,那也是可以接受的。

感谢和抱歉的问题是泥泞的。

4

1 回答 1

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) = '$'
于 2013-02-21T19:05:21.363 回答