解决方法
如果你想在替换字符串中使用反向引用,那是不可能的,AFAIK.你做了一个更新,如下所示:
UPDATE foo SET bar = <some expr including baz> WHERE baz REGEXP <regex>
但是指定的表达式必须依赖传统的字符串函数,如replace(…)和substr(…)(或者你自己的extension functions).无法调用REGEXP运算符找到的组.
编辑:这是一个具体的例子,它将item_key列中前缀’STOCK ID:’后面的数字库存ID解释为库存号:
UPDATE staff SET stock_number = CAST(substr(item_key,11) AS INTEGER) WHERE item_key REGEXP '^STOCK ID: \d+'