Aqui está o que eu quero fazer:
tabela atual:
+----+-------------+
| id | data |
+----+-------------+
| 1 | max |
| 2 | linda |
| 3 | sam |
| 4 | henry |
+----+-------------+
Consulta de mistério (algo como "UPDATE table SET data = CONCAT(data, 'a')"
)
tabela resultante:
+----+-------------+
| id | data |
+----+-------------+
| 1 | maxa |
| 2 | lindaa |
| 3 | sama |
| 4 | henrya |
+----+-------------+
é isso aí! Eu só preciso fazer isso em uma única consulta, mas não consigo encontrar uma maneira. Estou usando o mySQL no bluehost (acho que sua versão 4.1)
Obrigado a todos.
sql
mysql
concatenation
concat
Fresheyeball
fonte
fonte
cat_id
um campo de caractere (varchar, texto, etc) ou numérica?Respostas:
Isso é tudo o que você precisa:
Não sei por que você estaria tendo problemas, embora eu esteja testando isso no 5.1.41
fonte
concat
função no 4.1 parece a mesma - dev.mysql.com/doc/refman/4.1/en/…UPDATE table SET column_name=concat(column_name, 'string');
CONCAT com um valor nulo retorna nulo; portanto, a solução mais fácil é:
fonte
não está trabalhando para mim.
peças de reposição é
NULL
por padrão, mas a suavarchar
fonte
converta os
NULL
valores com uma cadeia vazia envolvendo-aCOALESCE
OU
Use CONCAT_WS :
fonte
Resolvi-o. Acontece que a coluna tinha um conjunto limitado de caracteres que aceitaria, alterou e agora a consulta funciona bem.
fonte
Não foi possível resolver isso. A sintaxe da solicitação estava correta, mas "0 linha afetada" quando executada.
A solução foi:
Aquele funcionou.
fonte
Você consegue fazer isso:
campo = campo + valor não funciona quando o campo é nulo.
fonte