Giả sử tôi đã có bảng:MySQL: có thể một AUTO_INCREMENT tạo ra các giá trị không theo thứ tự?
CREATE TABLE test (
ID INT AUTO_INCREMENT PRIMARY KEY,
InsertTime DATETIME
) ENGINE = InnoDB;
Và, thông qua một trang web/PHP Apache, như một phản ứng với các yêu cầu web, tôi tiếp tục làm điều này:
INSERT INTO test (InsertTime) values (NOW());
Có an toàn để giả định nếu row1.ID > row2.ID
thì row1.InsertTime >= row2.InsertTime
? Hoặc có lẽ thông qua một số kết hợp không may của các yếu tố (máy chủ đa CPU trong một môi trường nhân rộng với các mặt trăng của sao Mộc trong sự liên kết chính xác vv) điều này có thể thất bại?
Lưu ý: Tôi không gặp bất kỳ sự cố nào. Tôi đang viết một phần mềm mới và tôi tự hỏi liệu tôi có thể dựa vào phân loại theo số ID
để sắp xếp theo ngày (chỉ NOW()
thậm chí sẽ được chèn vào cột đó).
Điều này dường như không phải là vấn đề, mà là một cuộc thảo luận như vậy -> điều gì đó khác dành cho người lập trình SE? Và để ghi lại, tôi không thấy điều này có thể thất bại như thế nào. –
@saratis - Không thấy đây là cuộc thảo luận như thế nào? Đó là một câu hỏi cụ thể. Hoặc là nó hoạt động 100% được bảo đảm hoặc không. –
Mặc dù tôi đoán có 2 câu hỏi khác nhau ở đây. "Id có thể được tạo ra từ thứ tự chèn" và "thứ tự có bao giờ không khớp với thứ tự của cột ngày giờ không?" –