我有一个查询,可从给定表中获取所有数据,但是有一些数据点需要重命名。
例如: 在我的对象列中,我有thing1,thing2,thing3,它们需要重命名为thing0,thing1,thing2,
在我的查询中,我只想重命名一个数据
SELECT *
FROM my_table
WHERE project LIKE "mine"
UPDATE objects
SET objects='thing0'
WHERE objects='thing1'
谢谢。
答案 0 :(得分:0)
您应该只使用如下更新...
UPDATE <tablename> SET `objects` = 'thing0' WHERE `objects` = 'thing1' AND `project` LIKE '%mine%';
答案 1 :(得分:0)
正如我在评论中提到的那样,您的帖子非常笼统,几乎不会吸引任何能直接解决您问题的答案。在这个答案中,我将通过让您知道自己做错了什么来使您步入正轨。
对于初学者来说,您的查询是错误的,您可以使用任何SQL syntax checking tool轻松地找出来。对我来说,您要尝试执行的操作还不是很清楚,但是很明显,您已经将两个独立的查询混为一谈了。查询是:
SELECT * FROM my_table WHERE project LIKE "mine";
UPDATE objects SET objects = 'thing0' WHERE objects = 'thing1';
通过分离上述查询,很容易看出它们根本没有关联,这表明您的想法是错误的。在第一个查询中,选择表my_table
的{{1}}属性为单词project
的表的所有行,而在第二个查询中,更新表'mine'
的{{1}}列。 objects
列设置为objects
的行从表'thing0'
到objects
。您会发现这没有任何意义。
如果您要尝试将表'thing1'
的{{1}}列更新为objects
的行,则该列的值为my_table
,而{ {1}}包含单词'thing0'
,那么您所需的查询内容如下:
'thing1'
在以上查询中,请注意单词project
周围的'mine'
通配符。这是有关如何根据需要使用它的简短指南:
UPDATE my_table
SET objects = 'thing0'
WHERE objects = 'thing1'
AND project LIKE '%mine%';