Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sửa các mục nhập trùng lặp trong DB (lỗi MySQL)

Để liệt kê tất cả các điểm bất thường:

SELECT name, count(*) FROM TableA GROUP BY name HAVING count(*) > 1;

Có một số cách để giải quyết việc xóa các lỗi và đường dẫn của bạn sẽ phụ thuộc nhiều vào số lượng các lỗi bạn có.

Xem điều này VẬY có câu hỏi để biết cách xóa những thứ đó khỏi bảng của bạn.

Đây là giải pháp tôi đã cung cấp ở đó:

-- Setup for example
create table people (fname varchar(10), lname varchar(10));

insert into people values ('Bob', 'Newhart');
insert into people values ('Bob', 'Newhart');
insert into people values ('Bill', 'Cosby');
insert into people values ('Jim', 'Gaffigan');
insert into people values ('Jim', 'Gaffigan');
insert into people values ('Adam', 'Sandler');

-- Show table with duplicates
select * from people;

-- Create table with one version of each duplicate record
create table dups as 
    select distinct fname, lname, count(*) 
    from people group by fname, lname 
    having count(*) > 1;

-- Delete all matching duplicate records
delete people from people inner join dups 
on people.fname = dups.fname AND 
   people.lname = dups.lname;

-- Insert single record of each dup back into table
insert into people select fname, lname from dups;

-- Show Fixed table
select * from people;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:loại bỏ các giá trị trùng lặp liên tiếp

  2. Lỗi câu lệnh chuẩn bị Java MYSQL:Kiểm tra cú pháp để sử dụng gần '?' ở dòng 1

  3. MySQL - chỉ mục nhiều cột

  4. Cách đúng để tải tệp nhị phân lên MySQL thông qua Spring MVC

  5. MySQL:Cột được tính toán