Добавление данных в поле базы данных MySQL, в котором уже есть данные - PullRequest
37 голосов
/ 04 мая 2010

Мне нужно «добавить» данные в поле, которое уже содержит данные, не стирая то, что там в данный момент. Например, если поле содержит HTML, мне нужно добавить дополнительный HTML-код в поле. Есть ли вызов SQL, который сделает это, или мне нужно вызвать данные в этом поле, объединить новые данные с существующими и загрузить их в базу данных?

Ответы [ 4 ]

76 голосов
/ 04 мая 2010
UPDATE Table SET Field=CONCAT(Field,'your extra html');
11 голосов
/ 04 мая 2010
UPDATE myTable SET html=concat(html,'<b>More HTML</b>') WHERE id='10' 

... например. Ваше ГДЕ, конечно, будет другим.

3 голосов
/ 21 июня 2016

Добавить в конец поля, разделив его разрывом строки:

UPDATE Table SET Comment = CONCAT_WS(CHAR(10 USING UTF8), Comment, 'my comment.');
  • CONCAT_WS() добавляет несколько строк, разделенных данным разделителем.
  • CHAR(10, UTF8) - разрыв строки.
2 голосов
/ 11 октября 2017

UPDATE Table SET Field=CONCAT(IFNULL(Field, ''), 'Your extra HTML')

Если поле содержит значение NULL, то CONCAT также возвратит NULL. Использование IFNULL поможет вам обновить столбец, даже если он имеет значение NULL.

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