У меня есть запрос, который захватывает все данные из данной таблицы, но есть несколько точек данных, которые необходимо переименовать.
Пример: в столбце "Мои объекты" у меня есть вещь1, вещь2, вещь3, и их нужно переименовать в предмет 0, вещь1, вещь2,
Вот мой запрос, когда я попытался переименовать только одну часть данных
SELECT *
FROM my_table
WHERE project LIKE "mine"
UPDATE objects
SET objects='thing0'
WHERE objects='thing1'
Благодарю вас.
Как я упоминал в своем комментарии, ваш пост очень общий и вряд ли привлечет ответы, которые помогут решить вашу проблему. В этом ответе я постараюсь настроить вас, сообщая вам, что вы сделали неправильно.
Во-первых, ваш запрос неверен, и вы можете легко найти его с помощью любого инструмента проверки синтаксиса SQL. То, что вы пытаетесь сделать с этим, до сих пор не совсем ясно для меня, но ясно, что вы смешали два отдельных запроса в один плохо. Запросы:
SELECT * FROM my_table WHERE project LIKE "mine";
UPDATE objects SET objects = 'thing0' WHERE objects = 'thing1';
Разделяя вышеуказанные запросы, легко видеть, что они вообще не связаны, что свидетельствует о том, что ваше мышление было неправильным. В первом запросе нужно выбрать все строки таблицы my_table
которых project
атрибут является словом 'mine'
, тогда как во втором запросе, обновить objects
столбец таблицы objects
в 'thing0'
для строк, которые имеют objects
столбец установлен на 'thing1'
. Вы можете видеть, что это не имеет никакого смысла.
Если то, что вы пытаетесь сделать, это обновить objects
столбец таблицы my_table
к 'thing0'
для строк столбца имеет значение 'thing1'
и project
содержит слово 'mine'
, то запрос вам нужно что - то вместе следующие строки:
UPDATE my_table
SET objects = 'thing0'
WHERE objects = 'thing1'
AND project LIKE '%mine%';
В приведенном выше запросе обратите внимание на знак подстановки %
вокруг слова 'mine'
. Вот краткое руководство относительно того, как вы можете использовать его в соответствии с вашими потребностями:
AND project LIKE 'mine' -- Finds any values that equal "mine" (AND project = 'mine')
AND project LIKE 'mine%' -- Finds any values that start with "mine"
AND project LIKE '%mine' -- Finds any values that end with "mine"
AND project LIKE '%mine%' -- Finds any values that have "mine" in any position
Вы должны просто использовать обновление следующим образом...
UPDATE <tablename> SET 'objects' = 'thing0' WHERE 'objects' = 'thing1' AND 'project' LIKE '%mine%';