Voici ce que je veux faire:
table actuelle:
+----+-------------+
| id | data |
+----+-------------+
| 1 | max |
| 2 | linda |
| 3 | sam |
| 4 | henry |
+----+-------------+
Requête mystère (quelque chose comme "UPDATE table SET data = CONCAT(data, 'a')"
)
tableau résultant:
+----+-------------+
| id | data |
+----+-------------+
| 1 | maxa |
| 2 | lindaa |
| 3 | sama |
| 4 | henrya |
+----+-------------+
c'est tout! J'ai juste besoin de le faire en une seule requête, mais je n'arrive pas à trouver un moyen. J'utilise mySQL sur bluehost (je pense que sa version 4.1)
Merci tout le monde.
sql
mysql
concatenation
concat
Fresheyeball
la source
la source
cat_id
champ de caractères (varchar, texte, etc.) ou numérique?Réponses:
C'est à peu près tout ce dont vous avez besoin:
Je ne sais pas pourquoi vous rencontrez des problèmes, bien que je teste cela sur 5.1.41
la source
concat
fonction de la version 4.1 a la même apparenceUPDATE table SET column_name=concat(column_name, 'string');
CONCAT avec une valeur nulle renvoie null, donc la solution la plus simple est:
la source
ne fonctionne pas pour moi.
spares est
NULL
par défaut mais sonvarchar
la source
convertir les
NULL
valeurs avec une chaîne vide en l'enveloppant dansCOALESCE
OU
Utilisez plutôt CONCAT_WS :
la source
Résolu. Il s'avère que la colonne avait un ensemble limité de caractères qu'elle accepterait, l'a modifiée et maintenant la requête fonctionne correctement.
la source
Impossible de résoudre le problème. La syntaxe de la requête était correcte, mais "0 ligne affectée" lors de l'exécution.
La solution était:
Celui-là a fonctionné.
la source
Tu peux le faire:
field = field + value ne fonctionne pas lorsque le champ est nul.
la source