2

これに対する答えを探しましたが、必要なものが見つかりません。私は自分で作ったものを試す勇気がありません...

ある列 (列 a) の値を別の列 (列 b) にコピーしたいのですが、現在の値を持たない列 b 内のフィールドに対してのみこれを実行したいと考えています。

助けてくれてありがとう。

4

4 に答える 4

3

試す

UPDATE table1
   SET b = a
 WHERE b IS NULL

これがSQLFiddleのデモです

bVARCHARタイプで、空の文字列も値がないと見なす場合は、次のことができます

UPDATE table1
   SET b = a
 WHERE CHAR_LENGTH(COALESCE(b, '')) = 0

これがSQLFiddleのデモです

于 2013-06-11T20:32:49.803 に答える
0

UPDATEテーブルだけで、列bがnullの場合にのみ、列bを列aと同じに設定できます

UPDATE table
SET columnb = columna
WHERE columnb IS NULL

列に空の文字列がある場合は、使用してくださいWHERE columnb = ''

于 2013-06-11T20:32:54.660 に答える
0

以下のようなので:

UPDATE MyTable
SET ColumnB = ColumnA
WHERE ColumnB IS NULL;
于 2013-06-11T20:33:08.320 に答える
0
UPDATE tablename 
SET row1 = row2 
WHERE row2 IS NULL OR row2 = ''

これは、NULL と空の行の両方を考慮します。

それ以外の場合は、作成したものを投稿してください。確認できます。

于 2013-06-11T20:33:51.353 に答える