Tôi đang xây dựng hệ thống xếp hạng và tôi muốn chèn một hàng mới, nếu trường name
không đã chứa name
tôi muốn chèn và nếu nó tồn tại, tôi muốn tăng lĩnh vực count
bởi 1MySQL Insert on Duplicate Key
Ví dụ, nếu tôi có một hàng các các name
'Tom' và tôi cố gắng để chèn hàng khác với name
'Tom, sau đó tôi muốn +1
cho trường count
trên hàng đó đã tồn tại.
Nếu một hàng với name
'Tom' không tồn tại, tôi muốn chèn một cái mới và thiết lập count
để 1.
Tôi biết tôi có thể làm điều này với khoảng 3 câu lệnh SQL và một số if
báo cáo, nhưng điều đó sẽ làm chậm kịch bản khi lệnh 2/3 sql đang được thực hiện.
Bất kỳ ý tưởng nào? Cảm ơn!
hmm, nó không hoàn toàn hoạt động - không có lỗi. Tôi có thể chỉ định trường mà nó nên "ON DUPLICATE" của? – tarnfeld
được sắp xếp, tôi đã thêm nó vào phím CHÍNH CỦA bảng: D – tarnfeld
Không phải là khóa chính. Một phím duy nhất đủ (mặc dù PRIMARY luôn luôn là duy nhất) – VolkerK