我有一个sqlite表,如下所示
Name | TelNum0 | Telnum1 | Telnum2 | TelNum3 John | 1234 | 1234 | 1234 | 1234
现在我想更新我的sqlite数据库,以便最终我的数据库如下所示:
Name | TelNum0 | Telnum1 | Telnum2 | TelNum3 John | 1234 | | |
答案 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;