如何刪除數(shù)據(jù)庫(kù)中特定字段相同但特定列值為空的行?

如何刪除數(shù)據(jù)庫(kù)中特定字段相同但特定列值為空的行?

如何刪除數(shù)據(jù)庫(kù)中特定字段相同但特定列值為空的行

數(shù)據(jù)庫(kù)中的表通常包含多個(gè)字段。如果某個(gè)字段值為空,而其他字段值相同,則可能需要?jiǎng)h除這些空值行,以保持?jǐn)?shù)據(jù)的完整性。

在提供的示例中,datas表中有以下數(shù)據(jù):

credit company name phone id pid
99284 傳媒有限公司 張三 3930 21d4f7 null
99284 傳媒有限公司 張三 3930 21d4f7 6ec897
99284 傳媒有限公司 王五 1895 2c6dcd 21d4f7
99284 傳媒有限公司 王五 1895 a8c70b 21d4f7
99284 傳媒有限公司 李四 9894 33db09 21d4f7
99284 傳媒有限公司 李四 9894 703e16 null
99284 傳媒有限公司 李四 9894 0faa54 21d4f7

目標(biāo)是刪除pid為空的name為張三的行,同時(shí)保留pid不為空的行。可以使用以下 sql 查詢:

DELETE FROM datas  WHERE pid IS NULL AND (credit, company, name, phone, id, rootid) IN (     SELECT credit, company, name, phone, id, rootid      FROM datas      WHERE pid IS NOT NULL );

此查詢將刪除datas表中pid字段為空且credit、company、name、phone、id和rootid字段值與pid不為空的行相同的行。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊12 分享