需要重命名列中的数据,MySQL

需要重命名列中的数据,MySQL,mysql,Mysql,我有一个从给定表中获取所有数据的查询,但是有几个数据点需要重命名 例: 在我的“对象”列中有thing1,thing2,thing3,它们需要重命名为thing0,thing1,thing2 这里是我的查询,我试图重命名一段数据 SELECT * FROM my_table WHERE project LIKE "mine" UPDATE objects SET objects='thing0' WHERE objects='thing1' 谢谢。您只需使用以下更新即可 UPDATE <

我有一个从给定表中获取所有数据的查询,但是有几个数据点需要重命名

例: 在我的“对象”列中有thing1,thing2,thing3,它们需要重命名为thing0,thing1,thing2

这里是我的查询,我试图重命名一段数据

SELECT *
FROM my_table
WHERE project LIKE "mine"
UPDATE objects
SET objects='thing0'
WHERE objects='thing1'

谢谢。

您只需使用以下更新即可

UPDATE <tablename> SET `objects` = 'thing0' WHERE `objects` = 'thing1' AND `project` LIKE '%mine%';

正如我在评论中提到的,你的帖子非常笼统,很难吸引到任何能直接解决你问题的答案。在这个答案中,我会让你知道你做错了什么,从而让你走上正轨

对于初学者来说,您的查询是错误的,这是您可以很容易地用任何一种方法来解决的问题。我仍然不太清楚您试图用它做什么,但很清楚的是您将两个独立的查询混合到了一个查询中。查询如下:

从my_表中选择*项目,如我的项目; 更新对象集对象='thing0',其中对象='thing1'; 通过分离上述查询,很容易看出它们根本没有关联,这表明您的想法是错误的。在第一个查询中,您选择表my_表中项目属性为单词“mine”的所有行,而在第二个查询中,对于对象列设置为“thing1”的行,您将表对象的对象列更新为“thing0”。你可以看到这没有任何意义

如果您试图将表my_table的objects列更新为'thing0',该列的值为'thing1',项目中包含单词'mine',那么您需要的查询如下所示:

UPDATE my_table
SET objects = 'thing0'
WHERE objects = 'thing1'
AND project LIKE '%mine%';
在上面的查询中,请注意单词“mine”周围的%通配符。以下是一个简短的指南,说明如何根据您的需要使用它:

像'mine'这样的项目-查找任何等于mine和project='mine'的值 像“mine%”这样的项目—查找任何以mine开头的值 像“%mine”这样的项目会查找以“mine”结尾的任何值 像“%mine%”这样的项目—查找在任何位置具有mine的任何值
你的问题非常笼统,因此会吸引笼统的答案。试着提供一个模式,这样我们就知道我们在处理什么。你试过了吗?是否有任何错误?是的,我正在尝试同时执行这两个命令,检索数据以及重命名需要重命名的数据部分。如果这不能在一个sql语句中完成,那么我的想法是错误的。谢谢你的帮助。我很高兴我能帮助@victorz22