Tôi đã tự hỏi nếu có điều tương tự như một chức năng gọi lại bằng cách sử dụng mysql sau một INSERT hoặc UPDATE mà có thể trả lại cho tôi hàng # và có thể giá trị của các hàng như vậy.Gọi lại MySQL - có một thứ như vậy không?
Trả lời
Tôi không biết bất kỳ cuộc gọi nào như bạn nói nhưng chắc chắn từ ứng dụng gọi điện của bạn, bạn có thể truy xuất ID được chèn cuối cùng trong trường hợp bạn không chỉ định nó và db đã tạo ra giá trị tăng tự động. Các giá trị khác bạn đã biết vì bạn đã chèn chúng.
nếu bạn cần biết những giá trị đó trong máy chủ cơ sở dữ liệu, bạn có thể kích hoạt trình kích hoạt SQL được thực thi tại mỗi lần chèn để bạn có thể xử lý nhiều hơn trên bản ghi mới được chèn vào.
Tôi có thể lấy ID cuối cùng đó bằng cách nào? bởi vì một truy vấn chèn không trả lại (theo như tôi biết) một giá trị ngoài thành công hay thất bại. –
http://stackoverflow.com/questions/933565/get-auto-increment-value-with-mysql-query –
@Itai Sagi gọi [last_indert_id())] (http://dev.mysql.com/doc/ refman/5.5/en/information-functions.html # function_last-insert-id) –
Bạn có thể tạo triggers được gọi là chèn và cập nhật. Chúng không trả về giá trị, nhưng chúng có thể thiết lập các biến mà bạn có thể đọc bên ngoài chúng.
Cảm ơn bạn! Tôi nhận được ở đây bởi Google tìm kiếm "MySQL callback" để tìm cụm từ "trigger", như tôi chắc chắn nhiều người khác đã làm. – maurice
Tính năng này không khả dụng trong MySQL khi nó đứng. Tôi nghĩ có hai phương pháp để đạt được điều này:
- Bạn sẽ phải mô phỏng nó bằng cách bỏ phiếu - một phương pháp khá xấu, dễ lập trình nhưng khó trên máy chủ.
- Xem Does MySQL permit callbacks in C such that when a change happens, I can be notified? - viết hàm do người dùng xác định có thể thông báo cho người nghe đã đăng ký sử dụng một số phương pháp độc quyền của bạn. Tougher trên lập trình viên, dễ dàng trên máy chủ. Trong trường hợp này, hãy đảm bảo UDF của bạn mạnh mẽ, không đóng băng trong khi gửi thông báo cho người nghe có thể đã chết, v.v.
Xem này cho một mô tả sự kiện Firebird trong trường hợp bạn (hoặc một số người đọc sau) quyết định làm điều đó thông qua UDF - đó là một đặc tả thiết kế tốt để nhằm mục đích: http://www.janus-software.com/fbmanual/manual.php?book=php&topic=49
- 1. Django: không có bảng như vậy: django_session
- 2. Tại sao LuaJIT lại tốt như vậy?
- 3. Có một thứ như XML 2.0 không?
- 4. Java (swing) có nút như vậy không?
- 5. Multicast - không có thiết bị như vậy
- 6. Có quá nhiều lớp như vậy không?
- 7. Entity Framework + MySQL - Tại sao hiệu suất lại khủng khiếp như vậy?
- 8. Webcam: libv4l2 & VIDIOC_DQBUF: Không có thiết bị nào như vậy
- 9. Không có bảng android_metadata như vậy, có vấn đề gì?
- 10. SunToolkit.awtLock: không mã mà phải mất một khóa như vậy cần phải được gọi vào EDT
- 11. Có một thứ như một `bit` đúng trong JavaScript không?
- 12. ObjC: có một thứ như một "giao thức lớp" không?
- 13. Tcl.h: không có tệp hoặc thư mục nào như vậy
- 14. Ngôn ngữ VB.NET và Không có gì: tại sao nó lại như vậy?
- 15. (Tại sao) MySQL không thể sử dụng chỉ mục trong các trường hợp như vậy?
- 16. Python.h: Không có tệp hoặc thư mục nào như vậy
- 17. Tại sao khái niệm Marshalling được gọi là như vậy?
- 18. Giữ lại chu kỳ: Tại sao điều xấu như vậy?
- 19. không có tập tin như vậy để tải - bundler/setup
- 20. Android SQLite "không có bảng như vậy" ngoại lệ
- 21. Không có yếu tố ngoại lệ như vậy?
- 22. không có tập tin như vậy để tải - rack
- 23. Tại sao RAII lại được đặt tên như vậy?
- 24. ./fastboot: Không có tệp hoặc thư mục nào như vậy
- 25. django: sqlite3.OperationalError: không có bảng như vậy
- 26. Config.h - Không có tệp hoặc thư mục nào như vậy
- 27. Express.js: Không có tệp hoặc thư mục nào như vậy
- 28. Có một thứ như hàng đợi kết hợp không?
- 29. rspec "không thể tải tệp như vậy"
- 30. Kiểm tra Django không thành công với InternalError: không có điểm lưu trữ như vậy. DB: Postgres, chuyển vào mysql
như thế nào và nơi nào bạn cần giá trị này là trả lại? –
Bạn đang cố gắng [mô phỏng mệnh đề 'OUTPUT'] (http://stackoverflow.com/q/5817414/73226)? –
cũng thấy điều này: http://stackoverflow.com/questions/933565/get-auto-increment-value-with-mysql-query –