これに対する答えを探しましたが、必要なものが見つかりません。私は自分で作ったものを試す勇気がありません...
ある列 (列 a) の値を別の列 (列 b) にコピーしたいのですが、現在の値を持たない列 b 内のフィールドに対してのみこれを実行したいと考えています。
助けてくれてありがとう。
これに対する答えを探しましたが、必要なものが見つかりません。私は自分で作ったものを試す勇気がありません...
ある列 (列 a) の値を別の列 (列 b) にコピーしたいのですが、現在の値を持たない列 b 内のフィールドに対してのみこれを実行したいと考えています。
助けてくれてありがとう。
試す
UPDATE table1
SET b = a
WHERE b IS NULL
これがSQLFiddleのデモです
b
がVARCHAR
タイプで、空の文字列も値がないと見なす場合は、次のことができます
UPDATE table1
SET b = a
WHERE CHAR_LENGTH(COALESCE(b, '')) = 0
これがSQLFiddleのデモです
UPDATE
テーブルだけで、列bがnullの場合にのみ、列bを列aと同じに設定できます
UPDATE table
SET columnb = columna
WHERE columnb IS NULL
列に空の文字列がある場合は、使用してくださいWHERE columnb = ''
以下のようなので:
UPDATE MyTable
SET ColumnB = ColumnA
WHERE ColumnB IS NULL;
UPDATE tablename
SET row1 = row2
WHERE row2 IS NULL OR row2 = ''
これは、NULL と空の行の両方を考慮します。
それ以外の場合は、作成したものを投稿してください。確認できます。