Jak wyświetlić ostrzeżenie MySQL, które właśnie się wydarzyło?

160

Właśnie uruchomiłem prostą instrukcję MySQL CREATE TABLE, która utworzyła wiersz

„Zapytanie OK, problem dotyczy 0 wierszy, 1 ostrzeżenie (0,07 s)”.

Jednak tak naprawdę nie pokazało mi, jakie było ostrzeżenie. Jak możesz zobaczyć treść ostrzeżenia, które właśnie się pojawiło? Używam MySQL 5.1, jeśli to robi różnicę. Jedyne, co znalazłem w sieci, to „POKAŻ OSTRZEŻENIA”; ale to tylko wyprodukowało

„Pusty zestaw (0,00 s)”.

Wyskakuje
źródło
1
jak inni wskazywali w przypadku interaktywnego mysql, możesz (1.) rozpocząć sesję interaktywną za pomocą --show-warnings(patrz man mysql) lub (2.) Jeśli jesteś w istniejącej sesji interaktywnej, możesz włączyć to samo zachowanie za pomocą warnings(zobacz man mysql).
Trevor Boyd Smith

Odpowiedzi:

200

SHOW WARNINGSjest jedyną znaną mi metodą, ale musisz ją uruchomić natychmiast po zapytaniu, do którego zostały dołączone ostrzeżenia. Jeśli w międzyczasie wykonałeś inne zapytania lub zerwałeś połączenie, SHOW WARNINGSnie zadziała.

Strona podręcznika MySQL dla SHOW WARNINGS nie wskazuje żadnych innych metod, więc jestem prawie pewien, że utknąłeś z tym.

zombat
źródło
Pomogło mi to - ale musisz go uruchomić natychmiast po zapytaniu, które miało dołączone ostrzeżenia
asgs
98

Możesz także ustawić wiersz poleceń tak, aby zawsze wyświetlał ostrzeżenia po zapytaniu za pomocą \ W

Możesz je ponownie wyłączyć za pomocą \ w

HorusKol
źródło
3
To było dla mnie idealne. Dodaj „\ W” na początku mojego skryptu i gotowe!
Matt Klein,
1
Nadal istnieje: dev.mysql.com/doc/refman/5.7/en/mysql-commands.html, ale być może nie używasz command-line mysqlklienta. Działa tylko w mysql, a nie w bibliotece MySQL.
Yvan
Czy istnieje sposób na ustawienie tej flagi z pliku .my.cnf?
StR
22

@HorusKol, czy masz na to dokumentację? Nie mogłem znaleźć żadnego. Ale dowiedziałem się, że opcja wiersza poleceń --show-warningswykona zadanie, zgodnie z podręcznikiem MySQL .

Wyskakuje
źródło
6
Jeśli zrobisz \? w wierszu poleceń pomocy MySQL możesz zobaczyć dwie opcje \ w (ostrzeżenia wyłączone) i \ W (ostrzeżenia włączone) - może to zależeć od wersji, ale jestem prawie pewien, że przez cały ten czas było w MySQL 5.
HorusKol
@HorusKol, podwójne dzięki za powrót i odpowiedź na mój okropny komentarz jako odpowiedź. (Byłem nowy i nie wiedziałem nic lepszego!)
Pojawia się