删除`table` WHERE`field` =什么都没有

时间:2013-08-14 04:11:51

标签: mysql mysqli

如何删除所有名为 A 的字段为空的行。

假设我的表格如下所示。

|ID   |A   |B   |C
|1    |Data|Data|Data
|2    |    |Data|Data
|3    |Data|    |Data
|4    |    |    | 

因此,在上面的示例中,第2行和第4行将被删除,因为它们中没有存储任何内容?

我怎么能这样做我正在做的事情我正在考虑以下几点。

好的设置另一个表并尝试以下方法。

DELETE FROM `table` WHERE `A`= ''

这是正确的吗?

更新

好的设置另一个表并尝试以下方法。

DELETE FROM `table` WHERE `A`= ''

按预期工作。我不想做一张好桌子,以防我搞砸了什么

3 个答案:

答案 0 :(得分:3)

很难说你提供的是什么,因为 ... blank ... 可以通过各种方式解释,但可能你正在寻找类似的东西

DELETE 
  FROM Table1
 WHERE CHAR_LENGTH(COALESCE(TRIM(A), '')) = 0

它的作用是删除A列中的所有行

  1. NULL
  2. 空字符串值
  3. 仅包含空格的值
  4. 这是 SQLFiddle 演示

答案 1 :(得分:2)

您可以同时使用

DELETE FROM `table` WHERE A = '';

DELETE FROM `table` WHERE A IS NULL;

答案 2 :(得分:0)

DELETE FROM TABLENAME
WHERE A IS NULL OR TRIM(A) = '';