在我的SQL表中有columnX
有空值(“”)的行。现在我想让他们查询选择它们,然后删除它们。如何检查该表是否有空行然后删除它们
查询,如:
tables has empty rows
Delete empty rows
我怎样才能做到这一点。任何想法
在我的SQL表中有columnX
有空值(“”)的行。现在我想让他们查询选择它们,然后删除它们。如何检查该表是否有空行然后删除它们
查询,如:
tables has empty rows
Delete empty rows
我怎样才能做到这一点。任何想法
好试试这个,我希望日子会把找你的解决方案
你需要的是,首先获得空行
Select * From table_name Where column_name = "";
然后删除空行
Delete From table_name Where column_name = "";
或别'写入选择查询只写删除查询
我希望这能解决你的问题
取决于究竟你的意思是“空”的行:
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...
说了这么多,我真的想知道为什么你插入数据到你不想要的表中?
您可以检查每个字段为空或空字符串是这样的:
DELETE FROM table WHERE (column1 IS NULL OR column1 = '') AND (column2 IS NULL OR column2 = '')
你列的其余部分只需添加到WHERE
条款。
简单:delete from Test_table where c1 is null,....and cN is null
* empty rows *是什么意思?你的意思是所有列都是空的吗?哪一列是空的?哪些列为空或默认值? – GarethD 2014-08-28 08:06:36
不是不为空 – Nadeem 2014-08-28 08:08:22
您不需要先检查。 – Strawberry 2014-08-28 08:14:12