Come faccio a mostrare un avviso MySQL appena accaduto?


161

Ho appena eseguito una semplice istruzione MySQL CREATE TABLE che ha prodotto la linea

"Richiesta OK, 0 righe interessate, 1 avviso (0,07 sec)."

In realtà non mi ha mostrato quale fosse l'avvertimento. Come puoi vedere il contenuto di un avviso che si è appena verificato? Sto usando MySQL 5.1, se fa la differenza. L'unica cosa che ho trovato online è stato "SHOW WARNINGS;" ma questo ha prodotto solo

"Set vuoto (0,00 sec)."


1
come altri hanno sottolineato per mysql interattivo che puoi, (1.) avviare la sessione interattiva con --show-warnings(vedi man mysql) o (2.) se sei in una sessione interattiva esistente, puoi abilitare lo stesso comportamento con warnings(vedi man mysql).
Trevor Boyd Smith,

Risposte:


201

SHOW WARNINGSè l'unico metodo di cui sono a conoscenza, ma è necessario eseguirlo immediatamente dopo una query a cui sono allegati avvisi. Se hai eseguito altre query o hai interrotto la connessione, SHOW WARNINGSnon funzionerà.

La pagina di manuale di MySQL per SHOW WARNINGS non indica nessun altro metodo, quindi sono abbastanza certo che tu ne sia bloccato.


Questo mi ha aiutato - ma devi eseguirlo immediatamente dopo una query a cui erano allegati avvisi
asg

98

È inoltre possibile impostare la riga di comando in modo che visualizzi sempre gli avvisi dopo una query utilizzando \ W

Puoi spegnerli di nuovo con \ w


3
Questo è stato perfetto per me. Aggiungi '\ W' nella parte superiore della mia sceneggiatura e siamo a posto!
Matt Klein,

1
Esiste ancora: dev.mysql.com/doc/refman/5.7/en/mysql-commands.html ma potresti non utilizzare il command-line mysqlclient. Funziona solo in mysql, non in una libreria MySQL.
Yvan,

C'è un modo per impostare questo flag dal file .my.cnf?
StR

22

@HorusKol, hai documentazione per quello? Non ne ho trovato nessuno. Ma ho scoperto che l'opzione da riga di comando --show-warningsfarà il lavoro, secondo il manuale di MySQL .


6
se fate \? nella riga di comando per l'aiuto di MySQL, puoi vedere le due opzioni per \ w (avvertenze disattivate) e \ W (avvertenze attivate) - questo potrebbe dipendere dalla versione, ma sono abbastanza sicuro che sia stato in MySQL 5 per tutto questo tempo.
HorusKol

@HorusKol, doppio grazie per essere tornato e aver risposto al mio orribile commento come risposta. (Ero nuovo, e non ne sapevo niente di meglio!)
apre il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.