ฉันจะแสดงคำเตือน MySQL ที่เพิ่งเกิดขึ้นได้อย่างไร


160

ฉันเพิ่งรันคำสั่ง MySQL CREATE TABLE ง่ายๆที่สร้างบรรทัด

"ตกลง, ได้รับผลกระทบ 0 แถว, 1 คำเตือน (0.07 วินาที)"

มันไม่ได้แสดงให้ฉันเห็นว่าการเตือนคืออะไร คุณจะเห็นเนื้อหาของคำเตือนที่เพิ่งเกิดขึ้นได้อย่างไร ฉันใช้ MySQL 5.1 ถ้ามันสร้างความแตกต่าง สิ่งเดียวที่ฉันค้นพบทางออนไลน์คือ "SHOW WARNINGS;" แต่นั่นผลิตเท่านั้น

"ชุดว่าง (0.00 วินาที)"


1
ดังที่คนอื่น ๆ ได้ชี้ให้เห็นสำหรับ mysql เชิงโต้ตอบที่คุณสามารถทำได้ (1. ) เริ่มเซสชันโต้ตอบด้วย--show-warnings(ดูman mysql) หรือ (2. ) ถ้าคุณอยู่ในเซสชันโต้ตอบที่มีอยู่คุณสามารถเปิดใช้งานพฤติกรรมเดียวกันกับwarnings(ดูman mysql)
เทรเวอร์บอยด์สมิ ธ

คำตอบ:


200

SHOW WARNINGSเป็นวิธีเดียวที่ฉันทราบ แต่คุณต้องเรียกใช้ทันทีหลังจากแบบสอบถามที่มีคำเตือนแนบอยู่ หากคุณเรียกใช้แบบสอบถามอื่น ๆ ในระหว่างหรือหลุดการเชื่อมต่อแล้วSHOW WARNINGSจะไม่ทำงาน

หน้าคู่มือ MySQL ของSHOW WARNINGSไม่ได้ระบุวิธีการอื่นใดดังนั้นฉันค่อนข้างแน่ใจว่าคุณติดอยู่กับมัน


สิ่งนี้ช่วยฉัน - แต่คุณต้องเรียกใช้ทันทีหลังจากการสืบค้นที่มีคำเตือนแนบมาด้วย
asgs

98

นอกจากนี้คุณยังสามารถตั้งค่าบรรทัดคำสั่งให้แสดงคำเตือนหลังแบบสอบถามโดยใช้ \ W

คุณสามารถปิดได้อีกครั้งด้วย \ w


3
นี่คือที่สมบูรณ์แบบสำหรับฉัน เพิ่ม '\ W' ไปด้านบนสุดของสคริปต์ของฉันและเราก็ไปได้ดี!
Matt Klein

1
มันยังคงมีอยู่: dev.mysql.com/doc/refman/5.7/en/mysql-commands.htmlแต่คุณอาจไม่ได้ใช้command-line mysqlไคลเอ็นต์ ใช้งานได้เท่านั้นmysqlไม่ใช่ในห้องสมุด MySQL
Yvan

มีวิธีตั้งค่าสถานะนี้จากไฟล์. my.cnf หรือไม่
StR

22

@HorusKol คุณมีเอกสารเกี่ยวกับเรื่องนี้หรือไม่? ฉันไม่พบอะไรเลย แต่ฉันไม่พบว่าตัวเลือกบรรทัดคำสั่ง--show-warningsจะทำผลงานได้ตามที่คู่มือ MySQL


6
ถ้าคุณทำ \? ในบรรทัดคำสั่งสำหรับความช่วยเหลือ MySQL คุณสามารถดูสองตัวเลือกสำหรับ \ w (คำเตือนปิด) และ \ W (คำเตือนเปิด) - นี้อาจขึ้นอยู่กับรุ่น แต่ฉันค่อนข้างแน่ใจว่ามันอยู่ใน MySQL 5 ตลอดเวลา
HorusKol

@HorusKol ขอบคุณมากสำหรับการกลับมาและตอบความคิดเห็นที่น่ากลัวของฉันเป็นคำตอบ (ฉันใหม่และไม่รู้อะไรเลย!)
Pops
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.