我有一个notes列,它包含文本并在文本中有一个id,类似于
“一些随机文本(actvityid-1234)”
在这种情况下,我需要取出id 1234并更新同一表中的activityid列。
我的问题是这样的

"UPDATE table_name SET activityId = {$f['activityId']} WHERE notes REGEXP '{$f['activityId']}' "

问题在于,如果$f['activityid']是34或123,例如,它仍然用该值更新activityid列。我如何才能对“1234”进行精确匹配,并且仅当它与整个字符串(这里是“1234”)匹配时才进行更新。
非常感谢。

最佳答案

WHERE notes REGEXP CONCAT('(actvityid - ', {$f['activityId']}, ')')


WHERE notes REGEXP '[[:<:]]{$f['activityId']}[[:>:]]'

[[:<:]][[:>:]]代表word boundaries

10-05 21:21