Tôi có một bảng (name, date, stat1, stat2, stat3)
, (name, date)
là PK. Khi tôi chèn hàng, sẽ có các khóa trùng lặp và tôi cần tổng hợp ba số liệu thống kê. Tôi sử dụng truy vấn sau với PreparedStatement trong Java:Chèn hàng MySQL trên cập nhật khóa trùng lặp nhiều cột
INSERT INTO tb (name, date, stat1, stat2, stat3)
VALUES (?, ?, ?, ?, ?)
ON DUPLICATE KEY UPDATE stat1 = stat1 + ?, stat2 = stat2 + ?, stat3 = stat3 + ?
Có truy vấn ngắn gọn hơn để đạt được điều đó không? Bởi vì tôi đã đơn giản hóa truy vấn, có hơn mười số liệu thống kê ở đó.
Tốt hơn. Nhưng liệu tôi có thể lặp lại mọi stat không? – DrXCheng
Đáng buồn là không có cú pháp meta, chỉ có thể liệt kê – vearutop
Tôi thấy đây là một câu hỏi cũ, nhưng một tùy chọn khác là viết một thủ tục với số liệu thống kê trong một chuỗi và sau đó lặp qua chúng (sau khi tách). Có thể không ít mã nhưng nó sẽ năng động hơn. – inarilo