2012-12-24 9 views
23

Ich brauche Tabellenname Update (col1name)MySQL UPDATE append Daten in Spalte

Wenn bereits Daten vorhanden sind, muss ich es mit Werten anzuhängen ‚a, b, c‘ Wenn er NULL ist, muss ich füge die Werte 'a, b, c' hinzu

Ich weiß, dass es ein CONCAT-Argument gibt, aber nicht sicher, was die SQL-Syntax wäre.

update tablename set col1name = concat(ifnull(col1name, 'a,b,c'), 'a,b,c')

Ist die oben richtig?

+1

hast du es versucht? –

+0

@FahimParkar Mir war nicht klar, dass ich SQL Fiddle hätte verwenden können, aber ich wollte nichts unsicheres auf einer Live-Website ausprobieren. Vielen Dank. –

Antwort

46

Diese Abfrage:

update tablename set col1name = concat(ifnull(col1name,""), 'a,b,c'); 

Refer this sql fiddle demo.

+1

Ich wusste nichts über SQL Fiddle, danke! – MyGGaN

+0

SQL Giddle Demo gibt Fehler für mich aus (sowohl in FF und Chrome). Erstellt einen anderen: http://sqlfiddle.com/#!9/8385a3/1/0 –

4

können Sie verwenden die folgenden:

update yourtable 
set yourcol = case when yourcol is null then 'a,b,c' 
        else concat(yourcol, ' a,b,c') end 

Siehe SQL Fiddle with Demo

Beispieldaten:

CREATE TABLE yourtable(`yourcol` varchar(50)); 

INSERT INTO yourtable(`yourcol`) 
VALUES ('sadsdh'), 
    (NULL); 

Wir kommen wieder:

|  YOURCOL | 
---------------- 
| sadsdh a,b,c | 
|  a,b,c | 
5

Dies sollte es tun:

update tablename set 
col1name = if(col1name is null, 'a,b,c', concat(col1name, 'a,b,c')); 


Oder Sie könnten Ihr Leben einfacher, indem es in zwei Schritten tun machen:

update tablename set col1name = '' where col1name is null; 

dann

update tablename set col1name = concat(col1name, 'a,b,c'); 
0

IFNULL (Spalte, ''), speichert alle if-Anweisungen, macht das SQL viel einfacher!

SQL Fiddle

MySQL 5.6 Schema-Setup:

CREATE TABLE tablename 
    (`yourcol` varchar(50)) 
; 

INSERT INTO tablename 
    (`yourcol`) 
VALUES 
    ('sadsdh'), 
    (NULL) 
; 

UPDATE tablename SET 
    yourcol = CONCAT(IFNULL(yourcol,' '), 'somevalue') 
; 

Abfrage 1:

select * 
from tablename 

Results: | deincol | | ----------------- | | sadsdhsomevalue | | Somevalue |

Verwandte Themen