¿Cómo muestro una advertencia de MySQL que acaba de suceder?


161

Acabo de ejecutar una simple declaración CREATE TABLE de MySQL que produjo la línea

"Consulta OK, 0 filas afectadas, 1 advertencia (0.07 segundos)".

Sin embargo, en realidad no me mostró cuál era la advertencia. ¿Cómo puede ver el contenido de una advertencia que acaba de ocurrir? Estoy usando MySQL 5.1, si hace la diferencia. Lo único que encontré en línea fue "SHOW WARNINGS"; pero eso solo produjo

"Conjunto vacío (0.00 seg)".


1
como otros han señalado para mysql interactivo, puede (1.) iniciar la sesión interactiva con --show-warnings(ver man mysql) o (2.) si está en una sesión interactiva existente, puede habilitar el mismo comportamiento con warnings(ver man mysql).
Trevor Boyd Smith

Respuestas:


201

SHOW WARNINGSes el único método que conozco, pero debe ejecutarlo inmediatamente después de una consulta que tenía advertencias adjuntas. Si ejecutó cualquier otra consulta en el medio o interrumpió la conexión, entonces SHOW WARNINGSno funcionará.

La página del manual de MySQL para SHOW WARNINGS no indica ningún otro método, por lo que estoy bastante seguro de que está atrapado en él.


Esto me ayudó, pero debe ejecutarlo inmediatamente después de una consulta que tenía advertencias adjuntas
pide el

98

También puede configurar la línea de comando para que siempre muestre advertencias después de una consulta usando \ W

Puede apagarlos nuevamente con \ w


3
Esto fue perfecto para mi. ¡Agregue '\ W' a la parte superior de mi script y listo!
Matt Klein

1
Todavía existe: dev.mysql.com/doc/refman/5.7/en/mysql-commands.html pero es posible que no esté utilizando el command-line mysqlcliente. Solo funciona en mysql, no en una biblioteca MySQL.
Yvan

¿Hay alguna manera de establecer esta bandera desde el archivo .my.cnf?
StR

22

@HorusKol, ¿tiene documentación para eso? No pude encontrar ninguno. Pero descubrí que la opción de línea de comando --show-warningshará el trabajo, de acuerdo con el manual de MySQL .


66
si lo haces \? en la línea de comando para la ayuda de MySQL, puede ver las dos opciones para \ w (advertencias desactivadas) y \ W (advertencias activadas); esto puede depender de la versión, pero estoy bastante seguro de que ha estado en MySQL 5 todo este tiempo.
HorusKol

@HorusKol, doble agradecimiento por volver y responder a mi horrible comentario como respuesta. (¡Era nuevo y no sabía nada mejor!)
Aparece
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.