Tôi sẽ đi trước và gửi mã MySQL đáng sợ của tôi:MySQL cập nhật nếu giá trị lớn hơn giá trị hiện tại
INSERT INTO monthlystats (id, server, time, uptime, players, rank)
VALUES (09126, 6, 0912, 302, 0, 1)
ON DUPLICATE KEY UPDATE uptime = if(302 > uptime, 302, uptime), if(0 > players, 0, players), if(1 > rank, 1, rank)
Ok, vì vậy hãy để tôi giải thích những gì tôi đang cố gắng làm.
- "id" có chỉ mục duy nhất. Nếu chỉ mục đó không tồn tại, tôi muốn chèn các giá trị đó.
- Nếu có khóa trùng lặp, thay vào đó, tôi muốn CẬP NHẬT mỗi trường trong 3 trường, chỉ NẾU các giá trị mới lớn hơn giá trị hiện tại trong bảng.
Có vẻ như tôi đang làm điều gì đó khủng khiếp sai, và tôi khá thẳng thắn KHÔNG biết phải làm gì. Tôi đã cố gắng làm cho nó tốt, nhưng hóa ra lại là một mớ hỗn độn kinh khủng.
Tôi hy vọng rằng ai đó có thể dẫn dắt tôi đi đúng hướng, và giúp tôi học (và bất kỳ ai khác đang cố gắng học hỏi) cách làm những việc như thế này. Cảm ơn bạn.
Vì vậy, bạn đã là tốt cho 'uptime', lặp lại nó cho' players' và 'rank' và nó sẽ hoạt động – zerkms
Rất tiếc. một Lat. Tôi thấy những gì bạn đang nói về, nhưng tôi không nghĩ đó là vấn đề thực tế. Edit: oh my gosh, đó là vấn đề! Hãy tiếp tục và trả lời. – fruitcup
và vấn đề thực tế là gì? Tôi không thấy bất kỳ câu hỏi nào trong câu hỏi – zerkms