Istnieją różne metody poznania nazwy bieżącego użytkownika w MySQL. Może być wiele powodów, dla których chcemy wiedzieć, kto jest aktualnym użytkownikiem. Oto lista kilku z takich powodów.
- Dostosowany kod, który chcemy uruchomić w oparciu o powód.
- Sprawdzanie uprawnień na podstawie użytkownika.
- Wstawianie nazwy użytkownika w tabeli kontroli.
- Wyświetlanie specjalnej wiadomości w oparciu o zalogowanego użytkownika.
- Wykonywanie specjalnej logiki/kodu na podstawie zalogowanego użytkownika.
Metoda 1: Korzystanie z funkcji systemowych
SELECT user(); SELECT current_user();
Obie powyższe instrukcje SELECT zwracają nazwę bieżącego użytkownika, który wykonuje powyższe instrukcje.
Metoda 2: Wykorzystanie tabeli systemowej
SELECT * from mysql.user;
Powyżej wymienia wszystkich użytkowników zarejestrowanych na serwerze. Wyświetli również listę różnych poziomów uprawnień dla użytkowników.
Aby uzyskać tylko informacje o bieżącym użytkowniku, możesz użyć
SELECT * from mysql.user WHERE user() like concat(user,'%');
Możesz także użyć funkcji synonimów user()
SELECT session_user(); SELECT system_user();
Oba powyższe zwrócą wynik, który jest również wynikiem SELECT user().
Jeśli używasz podobnego loginu w swojej aplikacji lub firmie, chciałbym wiedzieć, jakie są potrzeby biznesowe w tym zakresie. Proszę zostaw komentarz.