Мне нужна инструкция обновления SQL для обновления определенного поля всех строк с строкой "test", которая должна быть добавлена перед существующим значением.
Например, если существующее значение "try", оно должно стать "testtry".
Ответ 1
Вы можете использовать функцию CONCAT, чтобы сделать это:
UPDATE tbl SET col=CONCAT('test',col);
Если вы хотите получить умнее и только обновить столбцы, у которых еще нет теста, попробуйте
UPDATE tbl SET col=CONCAT('test',col)
WHERE col NOT LIKE 'test%';
Ответ 2
UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...]
Ответ 3
Что простой
UPDATE YourTable SET YourColumn = CONCAT('prependedString', YourColumn);
Ответ 4
Многие функции обновления строк в myqsl, похоже, работают следующим образом:
если один аргумент равен null, то конкатенация или другие функции также возвращают значение null.
Итак, чтобы обновить поле с нулевым значением, сначала установите его на ненулевое значение, например ''
Для ex:
update table set field='' where field is null;
update table set field=concat(field,' append');
Ответ 5
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
Мы можем заключить один и тот же столбец, а также другой столбец таблицы.