2012-09-11 37 views
9

Thỉnh thoảng tôi quên kết thúc truy vấn SQL bằng dấu chấm phẩy ";" trong Mac Terminal của tôi. Khi điều này xảy ra, thiết bị đầu cuối thiết lập một -> lúc đầu và tôi không thể thoát khỏi điều này hoặc để chạy bất kỳ lệnh SQL khác.Tôi quên dấu chấm phẩy ";" trong một truy vấn MySQL Terminal. Làm cách nào để thoát?

Làm cách nào để thoát khỏi điều này?

+3

chỉ cần gõ '; \ n' –

+0

Sẽ không phải chỉ gõ một ';' làm điều đó? MySQL nên bỏ qua tất cả các dấu cách và dòng mới giữa phần cuối của truy vấn và dấu chấm phẩy. – SexyBeast

Trả lời

14

Bạn không biết về 5 chế độ trích dẫn khác nhau của thiết bị đầu cuối mysql. Tôi đề nghị bạn xem xét lại:

https://dev.mysql.com/doc/refman/5.0/en/entering-queries.html

phần có liên quan của liên kết ở trên:

Bảng dưới đây cho thấy mỗi người trong số các hướng dẫn bạn có thể thấy và tóm tắt ý nghĩa của chúng về trạng thái mà mysql là in.

Prompt Meaning 
mysql> Ready for new command. 

->  Waiting for next line of multiple-line command. 

'>  Waiting for next line, waiting for completion of a string 
     that began with a single quote (“'”). 

">  Waiting for next line, waiting for completion of a string 
     that began with a double quote (“"”). 

`>  Waiting for next line, waiting for completion of an 
     identifier that began with a backtick (“`”). 

/*>  Waiting for next line, waiting for completion of a 
     comment that began with /*. 

Trong dòng MySQL 5.0, lời nhắc /*> được triển khai trong MySQL 5.0.6.

Nhiều câu lệnh thường xảy ra do tai nạn khi bạn định phát lệnh trên một dòng, nhưng quên dấu chấm phẩy chấm dứt. Trong trường hợp này, mysql đợi đầu vào hơn:

mysql> SELECT USER() 
    -> 

Nếu điều này xảy ra với bạn (bạn nghĩ rằng bạn đã nhập một tuyên bố nhưng câu trả lời duy nhất là a -> prompt), nhiều khả năng mysql đang chờ đợi dấu chấm phẩy . Nếu bạn không nhận thấy lời nhắc đang nói với bạn, bạn có thể ngồi đó một lúc trước khi nhận ra những gì bạn cần làm. Nhập một dấu chấm phẩy để hoàn thành báo cáo kết quả, và mysql thực hiện nó:

TLDR:

Để thoát, loại \c, ;, ctrl-c hoặc ctrl-d. Nếu tất cả những thất bại, thoát khỏi chế độ quote bạn đang ở bằng cách gõ '<enter>, "<enter>, hoặc */<enter>

3

Chỉ cần nhập \ c để xóa câu lệnh nhập hiện tại

3

Chỉ cần nhập ";" và nhấn enter. Bạn có thể sử dụng nhiều dòng đầu vào như bạn muốn hoàn thành truy vấn khi ở chế độ dòng lệnh. Vì vậy, bạn có thể làm điều gì đó như:

>SELECT 
>* 
>FROM 
>table 
>WHERE 
>id=5 
>; 

nếu bạn muốn.

3

thể có thể thử "\q" mà làm việc cho tôi

Các vấn đề liên quan