Mysql REGEXP如何做到完全匹配

bha*_*ath 3 regex mysql

我有一个注释列,其中包含文本,并在文本中有一个id,类似"一些随机文本(actvityid - 1234)"

我需要在这种情况下提取id 1234并更新同一个表中的activityid列.

我的查询看起来像这样

"UPDATE table_name SET activityId = {$f['activityId']} WHERE notes REGEXP '{$f['activityId']}' "
Run Code Online (Sandbox Code Playgroud)

这个问题是如果$ f ['activityId']是34或123,例如它仍然用该值更新activityid列.如何在"1234"上进行精确匹配,并且仅在匹配整个字符串时更新,此处为"1234".

非常感谢.

Ama*_*osh 5

WHERE notes REGEXP CONCAT('(actvityid - ', {$f['activityId']}, ')')
Run Code Online (Sandbox Code Playgroud)

要么

WHERE notes REGEXP '[[:<:]]{$f['activityId']}[[:>:]]'
Run Code Online (Sandbox Code Playgroud)

[[:<:]][[:>:]]代表单词边界.