删除单行

时间:2016-01-29 07:55:45

标签: sqlite

我有一个sqlite表,如下所示

Name  |        TelNum0 |    Telnum1 |    Telnum2 |    TelNum3
John  |        1234    |    1234    |     1234   |    1234

现在我想更新我的sqlite数据库,以便最终我的数据库如下所示:

Name  |        TelNum0 |    Telnum1 |    Telnum2 |    TelNum3
John  |        1234    |           |                   |    

1 个答案:

答案 0 :(得分:0)

此数据库未正确规范化;你应该有一个单独的数字表,与原始表有1:N的关系。

无论如何,要删除重复项,您必须将列值与之前的所有列进行比较:

UPDATE InsertTheSecretTableNameHere
SET Telnum1 = NULL
WHERE TelNum0 = Telnum1;

UPDATE InsertTheSecretTableNameHere
SET Telnum2 = NULL
WHERE TelNum0 = Telnum2
   OR TelNum1 = Telnum2;

UPDATE InsertTheSecretTableNameHere
SET Telnum3 = NULL
WHERE TelNum0 = Telnum3
   OR TelNum2 = Telnum3
   OR TelNum1 = Telnum3;