将一列的值复制到另一列,但仅限于字段没有值的MySQL

时间:2013-06-11 20:31:42

标签: mysql

我找到了答案,找不到我需要的东西。我不敢尝试任何我编造的东西......

我想将一列(列a)的值复制到另一列(列b),但我只希望这发生在列b中没有当前值的字段中。

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:3)

尝试

UPDATE table1
   SET b = a
 WHERE b IS NULL

这是 SQLFiddle 演示

如果b属于VARCHAR类型,并且您认为空字符串也没有值,则可以执行

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

这是 SQLFiddle 演示

答案 1 :(得分:0)

您只需UPDATE您的表格,并将您的columnb设置为与列b无效,其中b列为空

UPDATE table
SET columnb = columna
WHERE columnb IS NULL

如果您的专栏有空字符串,请使用WHERE columnb = ''

答案 2 :(得分:0)

所以喜欢:

UPDATE MyTable
SET ColumnB = ColumnA
WHERE ColumnB IS NULL;

答案 3 :(得分:0)

UPDATE tablename 
SET row1 = row2 
WHERE row2 IS NULL OR row2 = ''

这将考虑NULL和空行。

否则 - 只需发布您的内容,我们就可以对其进行验证。