2014-08-28 31 views
1

在我的SQL表中有columnX有空值(「」)的行。現在我想讓他們查詢選擇它們,然後刪除它們。如何檢查該表是否有空行然後刪除它們

查詢,如:

tables has empty rows 

Delete empty rows 

我怎樣才能做到這一點。任何想法

+2

* empty rows *是什麼意思?你的意思是所有列都是空的嗎?哪一列是空的?哪些列爲空或默認值? – GarethD 2014-08-28 08:06:36

+0

不是不爲空 – Nadeem 2014-08-28 08:08:22

+0

您不需要先檢查。 – Strawberry 2014-08-28 08:14:12

回答

-1

好試試這個,我希望日子會把找你的解決方案

你需要的是,首先獲得空行

Select * From table_name Where column_name = ""; 

然後刪除空行

Delete From table_name Where column_name = ""; 

或別'寫入選擇查詢只寫刪除查詢

我希望這能解決你的問題

+0

正是我需要的...因爲我先檢查然後我刪除 – Nadeem 2014-08-28 08:35:21

+0

如果你總是要刪除選擇是完全沒有意義的。你想要防止什麼,刪除0行? – Anthony 2014-08-28 10:12:20

+0

的問題是他首先檢查空行然後刪除行 – deemi 2014-08-28 10:50:17

5

取決於究竟你的意思是「空」的行:

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...

說了這麼多,我真的想知道爲什麼你插入數據到你不想要的表中?

3

您可以檢查每個字段爲空或空字符串是這樣的:

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

你列的其餘部分只需添加到WHERE條款。

2

簡單:delete from Test_table where c1 is null,....and cN is null

相關問題