33

テーブル名 (col1name) を更新する必要があります

すでにデータがある場合は、値 'a,b,c' を追加する必要があります NULL の場合は、値 'a,b,c' を追加する必要があります

CONCAT 引数があることは知っていますが、SQL 構文がどうなるかわかりません。

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

上記は正しいですか?

4

5 に答える 5

69

このクエリを試してください:

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

このSQLフィドルのデモを参照してください。

于 2012-12-24T11:51:14.470 に答える
0

IFNULL(column,'') は、if ステートメントを保存し、SQL をより簡単にします!

MySQL 5.6 スキーマのセットアップ:

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

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

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

クエリ:

select *
from tablename

結果

|         yourcol |
|-----------------|
| sadsdhsomevalue |
|       somevalue |
于 2015-03-23T09:32:09.277 に答える