Question Ajout de données à un champ de base de données MySQL contenant déjà des données


Je dois "ajouter" des données à un champ qui contient déjà des données sans effacer ce qui existe actuellement. Par exemple, si le champ contient du code HTML, je dois ajouter du code HTML supplémentaire au champ. Existe-t-il un appel SQL qui le fera ou dois-je appeler les données dans ce champ, concaténer les nouvelles données aux données existantes et les recharger dans la base de données?


35
2018-05-03 22:15


origine


Réponses:


UPDATE Table SET Field=CONCAT(Field,'your extra html');

72
2018-05-03 22:20



UPDATE myTable SET html=concat(html,'<b>More HTML</b>') WHERE id='10' 

... par exemple. Votre endroit serait différent bien sûr.


11
2018-05-03 22:20



Ajouter à la fin d'un champ, séparé par un saut de ligne:

UPDATE Table SET Comment = CONCAT_WS(CHAR(10 USING UTF8), Comment, 'my comment.');
  • CONCAT_WS() ajoute plusieurs chaînes séparées par un séparateur donné.
  • CHAR(10, UTF8) est un saut de ligne.

3
2018-06-21 10:34



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

Si le champ contient une valeur NULL, CONCAT renverra également NULL. Utiliser IFNULL vous aidera à mettre à jour la colonne même si elle a la valeur NULL.


2
2017-10-11 05:54