从列中提取数据并将其放入另一列

时间:2016-04-13 19:19:25

标签: mysql

我在构建查询时遇到问题。 我在THE db

中有这个
--------------------------------------
 Id |name  | profilenr  |  nr     
--------------------------------------
  1 | Harry| admin-124  | NULL 
  2 | Barry| admin-267  | NULL
  6 | gerry| user-689   | NULL
  9 | larry| user-435   | NULL

我想做的是: 仅获取profilenr列中的数字,并将它们放在每个配置文件的nr列中,以启动whit admin-。 在这个例子中仅用于colum nr中的harry 124 而对于巴里只有267 in colum nr。 我知道这是可能的,但不知道如何为此构建查询。

2 个答案:

答案 0 :(得分:1)

您可以使用substr并找到

update my_table 
set nr = substr(profilenr, locate('-',profilenr)+1, 3);

答案 1 :(得分:1)

可能更像是这样:

update my_table update
set nr = substr(profilenr, locate('-', profilenr)+1, 3)
where profilenr like 'admin-%';