我正在尝试更新一组计算机主机名以匹配最近更改的房间号。数据库中的主机名格式类似于 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 + 新房间号。