MC, 15:07 piątek, 14.09.2012 r.
MySQL - Pobieranie wartości kolejnego klucza głównego tabeli
Zdarza się, że w naszej aplikacji niezbędna staje się informacja na temat wartości kolejnego klucza głównego w tabeli z bazy danych. Ten krótki wpis, pokaże nam jak to osiągnąć.
Co mamy do wyboru?
Zasadniczo, żeby uzyskać informacje na temat kolejnej wartości indeksu w bazie danych możemy zastosować dwie metody. Jedną i chyba najczęściej wspominaną, jest wyświetlenie całego statusu danej tabeli, co możemy wykonać przy pomocy zapytania podobnego do tego pokazanego poniżej:
SHOW TABLE STATUS LIKE 'NazwaTabeli';
Pośród zwróconych danych znajdziemy kolumnę o nazwie 'Auto_increment', która będzie zawierała interesujące nas dane. To podejście jednak ma zasadniczą wadę - nie można w żaden sposób ograniczyć zwracanych kolumn, do tych tylko, które mają dla nas znaczenie. Dlatego właśnie, ja preferuję inną metodę.
Jak pobrać tylko niektóre kolumny?
Chciałoby się zastosować zwykłego SELECT-a, ale powyższej kwerendy nie zmodyfikujemy tak, żeby go dołożyć. Dlatego trzeba ugryźć temat, nieco bardziej niskopoziomowo. Samodzielnie dobierzmy się do tabeli information_schema.tables:
SELECT auto_increment FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = 'NazwaTabeli';
Tym sposobem wyciągniemy z tabeli tylko te dane, których potrzebujemy, czyli wartość kolejnego indeksu klucza głównego.
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!