次のことを行う必要があり、構文に苦労しています。
'mytable'というテーブルと'mycolumn'(文字列)という列があります。
mycolumnでは、値は構築された値です。たとえば、値の1つは「first:10:second:18:third:31」です。mycolumnの値はすべて同じパターンを使用しており、ID/番号のみが異なります。
18の値(この特定の場合)を別のテーブルキーの値に変更する必要があります。18を22に置き換えたため、この列値の最終結果は「first:10:second:22:third:31」になります。ルックアップ値として18を使用して、別のテーブルから22を取得しました。
したがって、理想的には次のようになります。
UPDATE mytable
SET mycolumn = [some regex function to find the number between 'second:' and ":third" -
let's call that oldkey - and replace it with other id from another table -
(select otherid from tableb where id = oldkey)].
mysqlにREPLACE関数があることは知っていますが、それでは十分ではありません。