Làm cách nào để hiển thị cảnh báo MySQL vừa xảy ra?


160

Tôi vừa chạy một câu lệnh MySQL CREATE TABLE đơn giản tạo ra dòng

"Truy vấn OK, 0 hàng bị ảnh hưởng, 1 cảnh báo (0,07 giây)."

Nó thực sự không cho tôi thấy cảnh báo là gì. Làm thế nào bạn có thể thấy nội dung của một cảnh báo vừa xảy ra? Tôi đang sử dụng MySQL 5.1, nếu nó tạo ra sự khác biệt. Điều duy nhất tôi tìm thấy trên mạng là "HIỂN THỊ CẢNH BÁO;" nhưng nó chỉ được sản xuất

"Tập rỗng (0,00 giây)."


1
như những người khác đã chỉ ra cho mysql tương tác bạn có thể, (1.) bắt đầu phiên tương tác với --show-warnings(xem man mysql) hoặc (2.) nếu bạn đang ở trong một phiên tương tác hiện có, bạn có thể kích hoạt hành vi tương tự với warnings(xem man mysql).
Trevor Boyd Smith

Câu trả lời:


200

SHOW WARNINGSlà phương pháp duy nhất tôi biết, nhưng bạn phải chạy nó ngay lập tức sau khi truy vấn có cảnh báo kèm theo. Nếu bạn chạy bất cứ thắc mắc nào khác xen vào, hoặc bỏ kết nối, sau đó SHOW WARNINGSsẽ không hoạt động.

Các MySQL của nhãn hiệu trang cho hiển thị cảnh báo không chỉ ra bất kỳ phương pháp khác, vì vậy tôi khá chắc chắn rằng bạn đang mắc kẹt với nó.


Điều này đã giúp tôi - nhưng bạn phải chạy nó ngay lập tức sau khi có một truy vấn có cảnh báo kèm theo
vào

98

Bạn cũng có thể đặt dòng lệnh để luôn hiển thị các cảnh báo sau khi truy vấn bằng \ W

Bạn có thể tắt chúng một lần nữa với \ w


3
Điều này là hoàn hảo cho tôi. Thêm '\ W' vào đầu tập lệnh của tôi và chúng tôi sẽ làm tốt!
Matt Klein

1
Nó vẫn tồn tại: dev.mysql.com/doc/refman/5.7/en/mysql-commands.html nhưng bạn có thể không sử dụng command-line mysqlmáy khách. Nó chỉ hoạt động trong mysql, không phải trong một thư viện MySQL.
Yvan

Có cách nào để đặt cờ này từ tệp .my.cnf không?
StR

22

@HorusKol, bạn có tài liệu cho việc đó không? Tôi không thể tìm thấy bất kỳ. Nhưng tôi đã phát hiện ra rằng tùy chọn dòng lệnh --show-warningssẽ thực hiện công việc, theo hướng dẫn của MySQL .


6
nếu bạn làm \? trong dòng lệnh trợ giúp của MySQL, bạn có thể thấy hai tùy chọn cho \ w (cảnh báo tắt) và \ W (cảnh báo trên) - đây có thể là phiên bản phụ thuộc, nhưng tôi khá chắc chắn rằng nó luôn ở trong MySQL 5.
HorusKol

@HorusKol, cảm ơn gấp đôi vì đã quay lại và trả lời bình luận khủng khiếp của tôi như một câu trả lời. (Tôi là người mới và không biết gì hơn!)
Pops
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.