我正在嘗試更新一組計算機主機名以匹配最近更改的房間號。數據庫中的主機名格式爲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 +新的房間號碼。
看起來我仍然有一些學習MYSQL。這只是我正在尋找的答案。工作很好。謝謝! – user2698299