Thông thường, khi bị lỗi, các bạn sẽ thấy lỗi này khi gửi bài mới, đăng ký thành viên, gửi tin nhắn Mã số Các bạn lưu tên bảng ở trên nhéFirst - Bạn tải bản vBulletin cùng phiên bản với bản bạn đang dùng - Upload thư mục cài đặt lên hàng ngang file index. php current - Xóa file cài đặt/cài đặt. php go rồi làm tiếp các bước sau - Login vào AdminCP đc các bạn làm như sau - Sau đó kéo xuống tùy chọn chức năng Fix Unique Index Làm xong thì xóa thư mục cài đặt đi Cách này áp dụng cho mọi phiên bản vBulletin
Khi bạn thiết kế cơ sở dữ liệu, hãy thưởng cho chúng tôi hoặc để từ khóa id chính có định dạng là auto_increament Ví dụ
Một hôm đột nhiên truy vấn thêm dữ liệu báo lỗi
Kiểm tra dữ liệu bảng table_product chưa có từ khóa 123, giải quyết lỗi trên as after Cách 1 Truy vấn
Trạng thái các bảng dữ liệu sẽ hiển thị, bạn để ý trạng thái của bảng table_product, cột Auto_increment, chúng ta sẽ thấy giá trị là một con số rất lớn. Chúng ta phải sửa lại giá trị này bằng cách Bạn có 1 bảng B muốn chèn vào 1 bảng A và bảng B có khá nhiều dữ liệu trùng lặp với bảng A. Khi bạn thực hiện lệnh chèn sẽ xảy ra lỗi Error Code. 1062. Mục nhập trùng lặp do bảng A có cột là từ khóa chính (PRIMARY KEY) hoặc cột đó có thuộc tính là UNIQUE Để thực hiện việc chèn bảng A vào bảng B và bỏ qua các dữ liệu lặp lại này bằng cách sử dụng lệnh INSERT IGNORE Ta cùng tham khảo ví dụ bằng 2 bảng sau. Đầu tiên ta tạo 2 bảng sinhvien1 và sinhvien2 và thêm dữ liệu vào 2 bảng này
Như các bạn có thể thấy, có 1 sinh viên có mã 111 và 124 trùng lặp. Bây giờ ta sẽ chèn bảng dữ liệu sinhvien2 vào bảng dữ liệu sinhvien1 bằng lệnh INSERT. Ở ví dụ bên dưới mình sẽ tạo 1 giao dịch bằng lệnh BẮT ĐẦU GIAO DỊCH để phòng trường hợp kết quả bị sai thì mình còn ROLLBACK lại được
MySQL báo lỗi Error Code. 1062. Nhân bản mục nhập '111' cho khóa 'sinhvien1. PRIMARY’ và hủy luôn lệnh INSERT. Bây giờ ta sẽ thực hiện lệnh INSERT IGNORE Quảng cáo
Sau khi thực hiện các truy vấn trên, MySQL cho phép chèn tất cả các bảng, bỏ qua các hàng trùng lặp và chỉ trả về cảnh báo 1 hàng bị ảnh hưởng, 2 cảnh báo. 1062 Duplicate entry ‘111’ cho key ‘sinhvien1. Hồ Sơ CHÍNH’. 3 Bản sao. 2 Cảnh báo. 2 Resistent return table sinhvien1 is SELECT * FROM sinhvien1; +-----+-------------------+ |MaSV | Ten | +-----+-------------------+ |111 | Nguyễn Thị Duyên | |123 | Trần Anh Khoa | |124 | Vũ Tuấn Anh | |246 | Nguyễn Mỹ Linh | +-----+-------------------+ COMMIT; -- sau khi kiểm tra dữ liệu thấy đúng chạy lệnh này -- ROLLBACK; nếu không đúng chạy lệnh này Các bạn có thể xem kết quả sinh viên có mã 111 và 124 tại bảng sinhvien2 bị bỏ qua, không chèn vào bảng sinhvien1. Sau khi kiểm tra dữ liệu không xảy ra lỗi ta chạy lệnh COMMIT để ghi dữ liệu vào cơ sở dữ liệu Replace the data repeat used REPLACE________số 8_______MySQL trả về cảnh báo 5 bản ghi bị ảnh hưởng. 3 bản sao. 2 cảnh báo. 0 and results of table sinhvien1 các sinh viên có mã 111 và 124 đã được thay thế SELECT * FROM sinhvien1; +-----+----------------------+ |MaSV | Ten | +-----+----------------------+ |111 | Nguyễn Thị Mỹ Duyên | |123 | Trần Anh Khoa | |124 | Trần Công Đức | |246 | Nguyễn Mỹ Linh | +-----+----------------------+ Bài viết dựa trên MySQL Document và chạy trên MySQL 8. 0. 26 và MariaDB 10. 2. Mong được các bạn đóng góp ý kiến để website ngày càng phát triển |