có cách nào để làm một INSERT nhưng trên khóa DUPLICATE thay vì một bản cập nhật làm một SELECT?Có MySQL .. CHERTN ... VỀ CHỌN TỪ KHÓA?
5
A
Trả lời
2
Không có trong một truy vấn, nhưng bạn coul chạy INSERT IGNORE <xxx>
và sau đó SELECT <xxx>
. Các IGNORE
làm cho nó bỏ qua bất kỳ hàng nào sẽ kích hoạt các lỗi khóa trùng lặp thay vì tạm dừng.
0
No. Bạn sẽ phải xem lỗi khóa trùng lặp sau đó phát hành truy vấn SELECT
của mình.
Sẽ rất có vấn đề nếu tồn tại từ các truy vấn INSERT
và UPDATE
có nghĩa là sửa đổi dữ liệu và SELECT
để trả lại tập kết quả. Tất cả các loại trình điều khiển/giao diện xử lý các trường hợp này khác nhau vì lý do chính đáng.
Các vấn đề liên quan
- 1. CHERTN ... VỀ CẬP NHẬT KHÓA CHÍNH XÁC VỚI ĐÂU?
- 2. mysql Chọn từ Chọn
- 3. CHỌN * TỪ nhiều bảng. MySQL
- 4. SỬ DỤNG từ khóa trong Mysql
- 5. KHÔNG khóa trong mysql
- 6. Chọn Truy vấn từ 3 bảng có khóa ngoài
- 7. MySQL CHỌN x TỪ KHI KHÔNG CÓ (CHỌN x TỪ b) - Kết quả bất ngờ
- 8. Chọn từ bảng mysql WHERE field = '$ array'?
- 9. Biểu đồ khóa MySQL
- 10. MySQL: Câu hỏi về CHỌN Ở ĐÂU VÀ/HOẶC
- 11. Từ điển trả về MySQL adbapi xoắn
- 12. Mysql chọn nơi không có trong bảng
- 13. Chọn từ tất cả các bảng - MySQL
- 14. mysql chọn từ n hàng cuối cùng
- 15. Cách chọn ngày cũ nhất từ MySQL
- 16. Chọn từ trường không bằng Mysql Php
- 17. Chọn hàng ngẫu nhiên từ bảng mysql
- 18. chọn từ các giá trị trong mysql
- 19. Chọn quả ngẫu nhiên từ MySQL
- 20. MySQL và Python Chọn các vấn đề về Tuyên bố
- 21. Phân vùng bảng mySQL có khóa ngoài?
- 22. Có một thay thế ANSI SQL nào cho từ khóa MYSQL LIMIT không?
- 23. Chọn một hàng trong MySQL
- 24. MYSQL Chọn hai giá trị một cột
- 25. PHP chọn giá trị `id` lớn nhất từ bảng MySQL
- 26. Truy vấn mysql chọn?
- 27. Bảng MyISAM MySQL khóa
- 28. MySQL từ khóa tìm kiếm trên nhiều bảng
- 29. từ khóa riêng tư không có từ khóa riêng tư
- 30. khóa hàng mysql qua php
Trường hợp sử dụng chính xác của bạn cho trường hợp đó là gì? –
... Tại sao? Có 'ON DUPLICATE KEY UPDATE' vì một lý do chính đáng; nếu chèn không thành công, bản cập nhật sẽ có ý nghĩa. Một lựa chọn, mặt khác, sẽ không - và mã làm một chèn sẽ không mong đợi một kết quả thiết lập trở lại. – cHao
@cHao: ví dụ: khi bạn muốn sử dụng id của hàng được chèn/tồn tại, bạn sẽ muốn câu lệnh trả về một giá trị. – Seffix