Hướng dẫn mysql replace not working - mysql thay thế không hoạt động
13.2.9 & nbsp; thay thế câu lệnh
0 Chèn và thay thế đã được không dùng nữa trong MySQL 5.6. Trong MySQL 8.0, 0 không được hỗ trợ. Máy chủ nhận ra nhưng bỏ qua từ khóa 0, xử lý việc thay thế dưới dạng thay thế không điều trị và tạo cảnh báo 3: Thay thế chậm không còn được hỗ trợ. Tuyên bố đã được chuyển đổi để thay thế. Từ khóa 0 được lên lịch để loại bỏ trong một bản phát hành trong tương lai. phóng thích.REPLACE DELAYED is no longer supported. The statement was converted to REPLACE. The 0 keyword is scheduled for removal in a future release. release. Ghi chú Các giá trị cho tất cả các cột được lấy từ các giá trị được chỉ định trong câu lệnh 1 = 2 + 1, tham chiếu đến tên cột ở phía bên phải được coi là mặc định (____ 22), do đó, việc gán tương đương với 1 = mặc định (________ 22) + 1.DEFAULT( , so the
assignment is equivalent to 1 = DEFAULT( 2) + 1. Trong MySQL 8.0.19 trở lên, bạn có thể chỉ định các giá trị cột mà 7. Để sử dụng 0 cho bảng.Nếu một cột được tạo được thay thế rõ ràng, giá trị được phép duy nhất là 1. Để biết thông tin về các cột được tạo, xem Phần & NBSP; 13.1.20.8, Bảng Tạo bảng và các cột được tạo. 3 với danh sách các tên phân tách dấu phẩy của các phân vùng, phụ hoặc cả hai. Như với INSERT , nếu không thể chèn hàng mới vào bất kỳ phân vùng hoặc phân vùng nào, câu lệnh REPLACE không thành công với lỗi tìm thấy một hàng không khớp với bộ phân vùng đã cho. Để biết thêm thông tin và ví dụ, xem Phần & NBSP; 24.5, Lựa chọn phân vùng.Found a row not matching the given partition set. For more information and examples, see Section 24.5, “Partition Selection”. Tuyên bố Số lượng hàng bị ảnh hưởng giúp bạn dễ dàng xác định xem Nếu bạn đang sử dụng API C, số lượng hàng bị ảnh hưởng có thể thu được bằng cách sử dụng hàm 9.Bạn không thể thay thế vào một bảng và chọn từ cùng một bảng trong một truy vấn con. MySQL sử dụng thuật toán sau cho 1):
Có thể trong trường hợp lỗi khóa trùng lặp, công cụ lưu trữ có thể thực hiện 3.Bởi vì kết quả của các câu lệnh 4 phụ thuộc vào thứ tự các hàng từ 5 và thứ tự này không thể luôn luôn được đảm bảo, có thể khi đăng nhập các câu lệnh này cho nguồn và bản sao để phân kỳ. Vì lý do này, các câu lệnh 4 được gắn cờ là không an toàn cho sao chép dựa trên tuyên bố. Các câu lệnh như vậy tạo ra cảnh báo trong nhật ký lỗi khi sử dụng chế độ dựa trên câu lệnh và được ghi vào nhật ký nhị phân bằng định dạng dựa trên hàng khi sử dụng chế độ 7. Xem thêm Phần & NBSP; 17.2.1.1, Ưu điểm và nhược điểm của bản sao dựa trên tuyên bố và dựa trên hàng.MySQL 8.0.19 và sau đó hỗ trợ 8 cũng như 5 với REPLACE , giống như với INSERT . Xem Phần & NBSP; 13.2.6.1, Chèn chèn ... Chọn câu lệnh, để biết thêm thông tin và ví dụ. Khi sửa đổi một bảng hiện có không được phân vùng để phù hợp với phân vùng, hoặc, khi sửa đổi phân vùng của bảng đã được phân vùng, bạn có thể xem xét thay đổi khóa chính của bảng (xem Phần & NBSP; 24.6.1 Keys ”). Bạn nên lưu ý rằng, nếu bạn làm điều này, kết quả của các câu lệnh
Khi chúng tôi tạo bảng này và chạy các câu lệnh hiển thị trong máy khách MySQL, kết quả như sau:
Bây giờ chúng tôi tạo một bảng thứ hai gần giống với bảng thứ nhất, ngoại trừ khóa chính hiện bao gồm 2 cột, như được hiển thị ở đây (văn bản nhấn mạnh):
Khi chúng tôi chạy trên
Điều này là do thực tế là, khi chạy trên |