tôi có một loạt các kịch bản để tạo một lược đồ, với một lời nhận xét như sau trước mỗi lệnh:Mysql Lỗi 1064 ("Bạn có một lỗi trong cú pháp SQL của bạn") gây ra bởi SQL bình luận
--------------------------------------------------------
-- Table TABLE_NAME
--------------------------------------------------------
khi tôi thực thi kịch bản từ mysql trên dòng lệnh, tôi nhận được một loạt các lỗi như sau:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '------------------------------------------------------
------------------------' at line 1
(trên thực tế, tôi nhận được một lỗi cho mỗi bình luận, mặc dù được thông báo luôn đề cập đến dòng 1).
Để giải quyết nhanh vấn đề của tôi, tôi đã xóa các nhận xét và tập lệnh chạy mà không gặp sự cố, nhưng tôi đã rất ngạc nhiên khi thấy hành vi đó và không thể tìm thấy câu hỏi có liên quan ở đây trên stackoverflow. Có ai có một lời giải thích? Có ai từng quan sát hành vi kỳ quặc như vậy không?
Tôi đang chạy mysql 5.6.30, mặc định là 5.6 trên ubuntu tại thời điểm này.
Và, không giống như cú pháp Oracle, MySql cho phép nhận xét '/ * theo kiểu này * /' cũng như '- theo kiểu này'. –
@OllieJones Ngay cả '# theo kiểu này': D – Magisch
Tôi chấp nhận câu trả lời này là câu trả lời hoàn chỉnh nhất. Tôi được sử dụng để dòng đầy đủ các dấu gạch ngang được hiểu là ý kiến trong SQL, vì vậy tôi đã ngạc nhiên khi thấy rằng họ đã nêu ra lỗi. Tôi sẽ thông báo cho các nhà cung cấp phần mềm tôi đang cài đặt rằng nội dung của phần mềm "mysql" của họ thực sự không tuân thủ MySQL :) –