在MySQL中替换

时间:2011-02-23 17:11:35

标签: mysql

在我的数据库中,我有一些像这样的记录,有两列:

 Id, Name,

11,  Meal 997,
12,  Meal 998,
13,  Meal 999,
14,  Meam 000,
15,  Meam 001,
16,  Meam 002,

但由于逻辑错误,这是应用程序中存在错误数据的问题。 我们如何将包含 Meam 的记录更改为用餐并继续递增?

以上记录应如下:

11,  Meal 997,
12,  Meal 998,
13,  Meal 999,
14,  Meal 1000,
15,  Meal 1001,
16,  Meal 1002,

我们如何更改数据库?

“Meam 001”将在一个柱子中

查询是什么?

3 个答案:

答案 0 :(得分:4)

update tablename
set name=replace(name,'Meam','Meal 1')
where name like "Meam%"

您可以使用以下方式进行测试:

select name, replace(name,'Meam','Meal 1')
from tablename

答案 1 :(得分:1)

简单的SQL UPDATE查询是否足够?

UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

或者我完全误解了这个问题,如果我有道歉......

答案 2 :(得分:1)

update tablename
set name='Meal' , intvalue=concat('1',intvalue)
where name='Meam'

表中的

name是包含MealMeam的列的列名。 intvalue是包含整数的列的列名。

我希望它有所帮助。