2016-03-23 10 views
0

Meine Tabelle hat ein Feld namens "Firma" und einige haben Firmennamen ausgefüllt, andere nicht. Ich muss diejenigen füllen, die nicht mit dem Vornamen + Nachnamen, das sind andere Felder in der gleichen Tabelle.MySQL Update Firma Feld mit Vorname und Nachname Feld

Ich habe eine harte Zeit herauszufinden, welche Syntax zu verwenden. Ich möchte so etwas benutzen, aber ich kenne es.

UPDATE * FROM ‚table‘ IF company = ‚‘ MIT concat (‚Vorname Nachname‘)

Ich weiß, das weg ist, habe ich aber auf meine eigene gesucht ich die Syntax nicht finden können, und ich habe ein Klient, der mir den Hals herunterläuft. Ich bin kein Entwickler. Ich bin sicher, dass es Hunderte von Beispielen gibt, die ich nicht finden kann. Ich weiß, dass das für einige von euch einfach ist.

Vielen Dank im Voraus.

Antwort

1
UPDATE `Table` SET company = IFNULL(company,CONCAT(firstname,' ',lastname)); 

sqlfiddle

Dieser sollte Rohlinge/leeren String decken.

UPDATE `table` SET company = CONCAT(firstname,' ',lastname) WHERE company IS NULL OR company = ''; 
+0

Danke, das hat nicht funktioniert, auch fand ich, dass die Felder nicht null sind sie einfach keine Werte so ersetzt ich NULL für ‚‘ – illcrx

+0

siehe upvoted Antwort, dass man def. Arbeit für Sie –

+0

dort habe ich meine Antwort mit einer, die WHERE statt aktualisiert .... aktualisiert und deckt leere/leere Zeichenfolge Fall –

1

Verwenden Sie eine WHERE Anweisung:

UPDATE t FROM 'table' t 
    SET company = CONCAT_WS(' ', firstname, lastname) 
    WHERE company IS NULL OR company = ''; 
+0

Das sieht gut aus. meine behandelt nur null –

+0

2 Fragen sind die t der Feldname? Sollte es (Vorname, Nachname) sein, ein Leerzeichen in der Mitte der Namen zu geben? – illcrx

+0

@illcrx. . . Das ist, was 'concat_ws()' tut. Diese Version ist besser, weil sie "NULL" -Werte besser behandelt - anstatt "NULL" zurückzugeben, wird sie einfach ignoriert. –

0
UPDATE Table SET company = CONCAT(firstname, '', lastname) WHERE company IS NULL 
Verwandte Themen