Domanda

Mi scuso per la stupidità della domanda, ma sono un neofita completo con MySQL e sto avendo problemi anche a leggere la documentazione per questo.Ho una tabella con due colonne "homeid" e "indid", che sono entrambi campi di dati interi.Voglio concatenarli insieme in una nuova variabile " uid " con un trattino.L'output desiderato sarebbe simile a questo:

uid   homeid   indid
10-1  10       1
10-2  10       2
11-1  11       1

Ho provato il seguente codice, che funziona bene generando la variabile " uid " in cui le variabili concatenate dovrebbero sedersi, ma non sembra funzionare (sebbene non produca alcun errore) oltre a questo:

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);

Grazie in anticipo per il vostro aiuto (e pazienza).

È stato utile?

Soluzione

La funzione di cui hai bisogno qui è CONCAT_WS() per utilizzare un separatore di delimitazione -, o cambi intorno agli argomenti a CONCAT():

UPDATE table_name SET uid = CONCAT_WS('-' , homeid, indid);

O cambiare intorno agli argomenti per CONCAT()

UPDATE table_name SET uid = CONCAT(homeid, '-', indid);

Altri suggerimenti

Prova a seguire la query.

UPDATE table_name SET uid=CONCAT('-' , homeid, indid) where homeid > 0;
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top