Gere uma nova variável de string concatenando duas variáveis inteiras com MySQL
-
12-11-2019 - |
Pergunta
Peço desculpas pela bobagem da pergunta, mas sou um completo neófito no MySQL e estou tendo problemas até mesmo para ler a documentação sobre isso.Eu tenho uma tabela com duas colunas "homeid" e "indid", que são campos de dados inteiros.Quero concatená-los em uma nova variável "uid" com um hífen.A saída desejada ficaria assim:
uid homeid indid
10-1 10 1
10-2 10 2
11-1 11 1
Eu tentei o código a seguir, que funciona bem ao gerar a variável "uid" na qual as variáveis concatenadas deveriam ficar, mas não parece funcionar (embora não produza nenhum erro) além disso:
ALTER TABLE table_name
add column uid varchar(10) FIRST; /*adds column uid to table "table_name" as first column*/
UPDATE table_name
SET uid=CONCAT('-' , homeid, indid);
Agradecemos antecipadamente pela sua ajuda (e paciência).
Solução
A função que você precisa aqui é CONCAT_WS()
usar um separador delimitador -
, ou altere os argumentos para CONCAT()
:
UPDATE table_name SET uid = CONCAT_WS('-' , homeid, indid);
OU mude os argumentos para CONCAT()
UPDATE table_name SET uid = CONCAT(homeid, '-', indid);
Outras dicas
por favor tente seguir a consulta.
UPDATE table_name SET uid=CONCAT('-' , homeid, indid) where homeid > 0;