只有一个用户Id MySql在数据库中重复输入

时间:2014-04-20 10:30:37

标签: mysql sql

表:test_user_datatable

 id     |   user_id     |                puzzle                      

1       |    1          |           {"38":"38","39":"39"... 
259     |    1          |           {"38":"38","39":"39"...
1541    |    1          |        
1286    |    1          |        
519     |    1          |           {"38":"38","39":"39"....

我刚检查了我的数据库,我不知道这个重复数据在数据库中创建的实际原因(表:test_user_datatable)一段时间......似乎是错误但是可能是什么原因造成的它..因为它只发生在一个用户Id = 1而且所有其他用户ID都表现正常..
此条目随时插入......

如何通过保持活动只是第一个值来删除重复的user_id = 1然后我将user_id列作为唯一值

2 个答案:

答案 0 :(得分:1)

那将是DELETE FROM test_user_datatable WHERE user_id = 1 AND id != 1

WHERE子句(id != <keep_alive_id>)中的最后一个条件可以修改为您想保留的任何记录。

答案 1 :(得分:1)

您可以在user_id和puzzle上创建唯一键

  ALTER TABLE test_user_datatable
  ADD CONSTRAINT uCodes UNIQUE (user_id,puzzle )

然后它不会插入重复项。

删除现有条目,只需使用baeda答案。