Как добавить строку к значению столбца в MySQL? - PullRequest
110 голосов
/ 25 марта 2009

Мне нужен оператор обновления SQL для обновления определенного поля всех строк строкой «test», добавляемой перед существующим значением.

Например, если существующее значение равно «try», оно должно стать «testtry».

Ответы [ 5 ]

240 голосов
/ 25 марта 2009

Для этого можно использовать функцию CONCAT :

UPDATE tbl SET col=CONCAT('test',col);

Если вы хотите стать умнее и обновлять только столбцы, для которых тест еще не добавлен, попробуйте

UPDATE tbl SET col=CONCAT('test',col)
WHERE col NOT LIKE 'test%';
15 голосов
/ 25 марта 2009
UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...]
7 голосов
/ 06 июня 2013

Многие функции обновления строк в MySQL работают так: Если один аргумент null, то конкатенация или другие функции также возвращают null. Итак, чтобы обновить поле со значением null, сначала установите для него ненулевое значение, например ''

Например:

update table set field='' where field is null;
update table set field=concat(field,' append');
6 голосов
/ 25 марта 2009

Это просто

UPDATE YourTable SET YourColumn = CONCAT('prependedString', YourColumn);
0 голосов
/ 14 марта 2014
  • ОБНОВЛЕНИЕ table_name SET SET Column1 = CONCAT ('newtring', table_name.Column1), где 1
  • ОБНОВЛЕНИЕ table_name SET SET Column1 = CONCAT ('newtring', table_name.Column2), где 1
  • ОБНОВЛЕНИЕ table_name SET SET Column1 = CONCAT ('newtring', table_name.Column2, 'newtring2'), где 1

Мы можем объединить тот же или другой столбец таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...