Как добавить строку к значению столбца в MySQL?


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

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

5 104

5 ответов:

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

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

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

UPDATE tbl SET col=CONCAT('test',col)
WHERE col NOT LIKE 'test%';
UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...]

это просто

UPDATE YourTable SET YourColumn = CONCAT('prependedString', YourColumn);

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

например:

update table set field='' where field is null;
update table set field=concat(field,' append');
  • UPDATE table_name SET Column1 = CONCAT ('newtring', table_name.Column1) где 1
  • UPDATE table_name SET Column1 = CONCAT ('newtring', table_name.Column2) где 1
  • UPDATE table_name SET Column1 = CONCAT ('newtring', table_name.Column2, 'newtring2') где 1

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