Zastanawiam się, czy istnieje coś takiego jak odpowiednik funkcji wywołania zwrotnego za pomocą mysql po INSERT lub UPDATE, które mogłyby zwrócić mi wiersz # i być może wartości takich wierszy.Oddzwonienie do MySQL - czy jest coś takiego?
Odpowiedz
Nie jestem świadomy żadnego oddzwaniania, jak mówisz, ale na pewno z twojej aplikacji wywołującej możesz pobrać ostatni wstawiony identyfikator w przypadku, gdy go nie określiłeś, a db wygenerował wartość automatycznego przyrostu. Inne wartości, które powinieneś już znać, ponieważ je wstawiłeś.
Jeśli chcesz poznać te wartości na serwerze bazy danych, możesz użyć wyzwalacza SQL, który jest wykonywany przy każdej wstawce, dzięki czemu możesz wykonać więcej przetwarzania na nowo wstawionym rekordzie, na przykład napisać coś w innej tabeli itp.
jak mogę uzyskać ten ostatni identyfikator? ponieważ kwerenda wstawiania nie zwraca (o ile mi wiadomo) wartości oprócz sukcesu lub niepowodzenia. –
http://stackoverflow.com/questions/933565/get-auto-increment-value-with-mysql-query –
@Itai Sagi call [last_indert_id())] (http://dev.mysql.com/doc/ refman/5.5/pl/information-functions.html # function_last-insert-id) –
Można utworzyć triggers, które są wywoływane przy wstawianiu i aktualizacji. Nie zwracają wartości, ale mogą ustawiać zmienne, które można odczytać poza nimi.
Dziękujemy! Dostałem się do Google, szukając "wywołania zwrotnego MySQL", aby znaleźć termin "wyzwalacz", ponieważ jestem pewien, że zrobiło to wielu innych. – maurice
To nie jest dostępne w MySQL w obecnym stanie. Myślę, że są dwie metody osiągnięcia tego celu:
- Musiałbyś to zasymulować za pomocą sondowania - raczej brzydka metoda, łatwa w programowaniu, ale trudna na serwerze.
- Zobacz Does MySQL permit callbacks in C such that when a change happens, I can be notified? - napisz funkcję zdefiniowaną przez użytkownika, która może powiadomić zarejestrowanego detektora za pomocą jakiejś opatentowanej metody tworzenia. Trudniejsze w programowaniu, łatwe na serwerze. W tym przypadku upewnij się, że twój UDF jest solidny, nie zamarza, przekazując powiadomienie słuchaczowi, który mógł umrzeć, itp.
Zobacz to na Firebird opisu zdarzenia w przypadku (lub później czytelnik) zdecyduje się to zrobić za pośrednictwem UDF - to dobry projekt Spec zmierzać do: http://www.janus-software.com/fbmanual/manual.php?book=php&topic=49
- 1. Czy jest coś takiego jak indeks pmax?
- 2. Cron API: czy jest coś takiego?
- 3. Czy istnieje coś takiego jak Single.empty()
- 4. Czy istnieje coś takiego jak jQuery.toggle (boolean)?
- 5. Czy jest coś takiego jak AutoMapper dla Scala?
- 6. Czy jest coś takiego jak mapy źródłowe dla CSS?
- 7. Czy jest coś takiego jak Incanter dla Haskella?
- 8. Czy jest coś takiego jak pngcrush dla GIF-ów?
- 9. Czy jest coś takiego jak require.txt dla R?
- 10. Numery śledzenia testów UPS (czy jest coś takiego?)
- 11. Czy jest coś takiego jak "New Relic" dla aplikacji Perla?
- 12. Czy istnieje coś takiego jak konstruktor const?
- 13. Sesja ASP.NET Web API czy coś takiego?
- 14. Czy jest coś takiego jak NSDictionary w systemie Android?
- 15. Czy dla basha jest coś takiego jak perls __DATA__?
- 16. Czy jest coś takiego jak Codecademy dla Java
- 17. Czy jest coś takiego jak zbyt wiele zajęć?
- 18. Czy jest coś takiego jak printf w Action Script 3?
- 19. Czy jest coś takiego jak "std :: and" lub "std :: or"?
- 20. Czy jest coś takiego jak __LINE__ w Verilog?
- 21. Czy jest coś takiego jak SESJA w aplikacji Windows?
- 22. Czy jest coś takiego jak "global ::" dla VB.NET?
- 23. Serializing Request.Form do słownika lub coś takiego
- 24. Czy istnieje coś takiego jak MAMP dla Ruby on Rails?
- 25. Czy istnieje coś takiego jak wskaźniki w Lua?
- 26. Czy istnieje coś takiego jak biblioteka czyszczenia numerów telefonów?
- 27. Czy jest coś podobnego do wiadomości #pragma?
- 28. Czy istnieje coś takiego jak każda pętla w Javie?
- 29. Czy Gson ma coś takiego jak @JsonProperty dla metod?
- 30. Czy istnieje coś takiego jquery dla WPF/XAML?
jak i gdzie trzeba to wartości, które zostaną zwrócony? –
Czy próbujesz [symulować klauzulę "WYJŚCIA"] (http://stackoverflow.com/q/5817414/73226)? –
zobacz również: http://stackoverflow.com/questions/933565/get-auto-increment-value-with-mysql-query –