如何在mysql中填充特殊条件的空(gap)列?

时间:2012-01-06 21:32:56

标签: mysql sql

我有一个名为products的表,其中包含以下列:

  • productID:1到800之间的数字
  • name:产品名称
  • 描述:有关产品的更多信息

表格视图:

productID | name    | description
----------+---------+---------------
      145 | name145 | description145
      146 | name146 | "empty col"
      147 | name147 | description147
      148 | name148 | "empty col" 
      149 | name149 | "empty col" 
      150 | name150 | "empty col" 
      151 | name151 | "empty col"
      152 | name152 | description152

现在我想知道如何在这个空col上设置一个“x-name-description”的瞬时值,并在这个空隙不连续时填充它们?

2 个答案:

答案 0 :(得分:2)

我遇到了类似的情况。我做了什么,是

IFNULL(NULLIF(X, '' ), 0)

如果属性X是空字符串,则假定它为空,因此在此之后您可以声明为零而不是最后一个值。在另一种情况下,它将保持其原始值。

无论如何,希望这有帮助。

答案 1 :(得分:1)

如果您希望查询返回字段description的默认值(如果为null),请尝试查询

SELECT productID, name, IFNULL(description, "some value") 
from products WHERE...

如果您想更新表格,请使用

UPDATE products set description = 'some value' WHERE description IS NULL

如果记录的description字段为NULL,则此工作。