如何检查该表是否为空行,然后删除它们

时间:2014-08-28 08:04:57

标签: mysql

在我的SQL表中,有columnX空值(“”)的行。现在我想要他们我查询选择它们然后删除它们。

查询如下:

tables has empty rows

Delete empty rows

我该怎么办?任何想法

4 个答案:

答案 0 :(得分:4)

取决于“空”行的具体含义:

delete from yourTable where column1 is null

将删除column1具有空值的位置。如果你的意思是多列有空值的地方,只需要在where子句中添加更多条件:

delete from yourTable where column1 is null and column2 is null and column3 is null

如果为空,则表示“文本字段中有空格或字段为空”,您可以使用一些内置函数来查找它们,例如:

delete from yourTable where trim(column1)=''

会在表格中找到一行,其中column1中只有空格,依此类推。

你可能想要读一下我在SQL,连接等上写的this article - 它在从表中选择正确的行方面有一点点 - 在你的情况下,替换带有select.... from where...

delete from where...

说了这么多,我真的很想知道你为什么将数据插入到你不想要的表中?

答案 1 :(得分:2)

您可以检查每个字段是否为null或空字符串,如下所示:

DELETE FROM table WHERE (column1 IS NULL OR column1 = '') AND (column2 IS NULL OR column2 = '')

只需将其余列添加到WHERE子句中。

答案 2 :(得分:1)

简单:delete from Test_table where c1 is null,....and cN is null

答案 3 :(得分:-1)

好的尝试一下,我希望你能找到你的解决方案

您需要的是,首先获得空行

Select * From table_name Where column_name = "";

然后删除空行

Delete From table_name Where column_name = "";

或者不编写select查询只写下删除查询

我希望这能解决你的问题