2008-10-20 45 views
6

Tôi đã được yêu cầu đánh giá bất kỳ/tất cả thay đổi nào trong bảng MySQL. Có ai biết về bất kỳ công cụ nào để giúp tôi làm điều này hay tôi cần viết giải pháp của riêng mình?Làm cách nào để kiểm tra các thay đổi trong bảng MySQL (sử dụng MySQL 4)?

Nếu tôi viết bài kiểm tra riêng của mình, ban đầu tôi nghĩ rằng nó sẽ tạo một bảng riêng và xây dựng một chuỗi các thay đổi trong mã PHP. Một cái gì đó như "fieldname1 -> oldvalue | fieldname2 -> oldvalue, ...". Nếu bạn thấy một vấn đề lớn với phương pháp này, xin vui lòng cho tôi biết.

Trả lời

3

Cách chắc chắn duy nhất để nắm bắt tất cả thay đổi đối với bảng DB là sử dụng trình kích hoạt trên Máy chủ. Nguy cơ sửa đổi mã của riêng bạn để kiểm tra các thay đổi là những thay đổi từ một ứng dụng/người dùng khác sẽ không bị bắt.

Có nói rằng, tôi không chắc chắn rằng MySQL 4 đã kích hoạt hỗ trợ.

+0

Tôi đoán tôi sẽ phải thực hiện giải pháp hậu thuẫn của mình. Có lẽ tôi có thể được phép cập nhật lên MySQL 5. – Haabda

+0

Trình kích hoạt đã được thêm vào trong MySQL 5.0. Tại thời điểm này có thực sự không phải là một lý do chính đáng để không nâng cấp từ 4 lên 5. 5.1 là trong ứng viên phát hành, và 6.0 là trong phát triển Alpha. – acrosman

+0

có thể kích hoạt theo dõi người dùng nào đang thực hiện thay đổi không? – andho

3

Sử dụng trigger để phát hiện thay đổi và ghi trước/sau giá trị vào bảng nhật ký.

+0

Đáng buồn thay, tôi bị mắc kẹt khi sử dụng MySQL 4. Tôi sẽ chỉnh sửa câu hỏi của mình để làm rõ. Đề nghị tuyệt vời mặc dù. – Haabda

2

Nếu bạn gió lên tay lăn một giải pháp thiếu do sự hỗ trợ kích hoạt, tôi khuyên bạn don' t chỉ đổ những thay đổi trong một blob chuỗi. Một ngày, bạn sẽ được yêu cầu truy vấn dữ liệu đó và bạn sẽ phải thực hiện một loạt phân tích chuỗi để lấy lại dữ liệu của mình. Cách tiếp cận đơn giản nhất là tạo bảng kiểm tra bóng có tất cả các cột giống như bảng gốc, cộng với cột ngày thay đổi và id tuần tự. Sau đó, bạn có toàn bộ lịch sử trong tay để tái tạo trong bất kỳ định dạng nào bạn cần và bạn có thể truy vấn theo ý muốn.

Các vấn đề liên quan