最近変更された部屋番号と一致するように、コンピューターのホスト名のコレクションを更新しようとしています。データベース内のホスト名は FL-itf2106a のような形式で、2106 が古い部屋番号です。同じ行に古い部屋番号と新しい部屋番号がある別のテーブルに既にリストがあります。ホスト名の文字列からすべての非数値を取り除き、それを更新テーブルに結合しようとしましたが、失敗しました。
    UPDATE computers c
INNER JOIN updates u 
        ON u.old = (
                    SELECT NumericOnly(c.hostname)
                     WHERE hostname 
                      LIKE "%FC%"
                   )
       SET c.hostname = CONCAT('classf', u.new);
NumericOnly は、文字列から数値以外のすべての文字を削除するユーザー関数です。
ホスト名の列をclassf +新しい部屋番号に等しく設定しようとしています。