Як я показую попередження MySQL, яке щойно трапилось?


160

Я щойно запустив простий оператор MySQL CREATE TABLE, який створив рядок

"Запит добре, 0 рядків уражено, 1 попередження (0,07 сек)."

Але насправді це не показало мені, що таке попередження. Як ви бачите вміст попередження, яке щойно виникло? Я використовую MySQL 5.1, якщо це має значення. Єдине, що я знайшов в Інтернеті - "ПОКАЗУЙТЕ ПОПЕРЕДЖЕННЯ;" але це тільки виробляється

"Порожній набір (0,00 сек)."


1
як інші вказували на інтерактивний mysql, ви можете (1.) розпочати інтерактивний сеанс з --show-warnings(див. man mysql) або (2.), якщо ви перебуваєте в існуючому інтерактивному сеансі, ви можете ввімкнути ту саму поведінку з warnings(див. man mysql).
Тревор Бойд Сміт

Відповіді:


200

SHOW WARNINGSце єдиний метод, про який я знаю, але вам потрібно запустити його відразу після запиту, до якого були додані попередження. Якщо ви виконували будь-які інші запити між ними або відмовились від з'єднання, SHOW WARNINGSце не працюватиме.

Сторінка керівництва MySQL для ПОКАЗАННЯ ПОПЕРЕДЖЕННЯ не вказує жодних інших методів, тому я впевнений, що ви з цим застрягли.


Це допомогло мені - але ви повинні запустити його одразу після запиту, до якого були додані попередження
asgs

98

Ви також можете встановити командний рядок, щоб завжди відображати попередження після запиту, використовуючи \ W

Ви можете вимкнути їх знову за допомогою \ w


3
Це було ідеально для мене. Додати "\ W" у верхній частині мого сценарію, і ми готові йти!
Метт Кляйн

1
Він все ще існує: dev.mysql.com/doc/refman/5.7/en/mysql-commands.html, але ви, можливо, не використовуєте command-line mysqlклієнта. Він працює лише в mysqlбібліотеці MySQL, а не в ній.
Іван

Чи є спосіб встановити цей прапор із файлу .my.cnf?
StR

22

@HorusKol, у вас є на це документація? Я не міг знайти жодного. Але я дізнався, що параметр командного рядка --show-warningsвиконає цю роботу, відповідно до посібника MySQL .


6
Якщо ти зробиш \? у командному рядку довідки MySQL ви можете побачити два варіанти \ w (попередження вимкнено) та \ W (попередження увімкнено) - це може залежати від версії, але я впевнений, що він був у MySQL 5 весь цей час.
HorusKol

@HorusKol, подвійна подяка за повернення та відповідь на мою жахливу коментар-як-відповідь. (Я був новим, і не знав нічого кращого!)
Pops
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.