2011-12-01 35 views
5

Nếu tôi tạo trình kích hoạt với cú pháp CREATE TRIGGER trong MySQL, làm cách nào để đính kèm nhận xét vào nó, mô tả nó? Tôi có nghĩa là trong tuyên bố hoặc sau khi nó là như vậy với tôi.Thêm nhận xét (mô tả) vào trình kích hoạt

Tôi không thể tìm ra. Với các bảng bạn thêm COMMENT = 'Wonderful table with users inside'; vào cuối khai báo. Nhưng làm cách nào để bạn thêm nhận xét vào trình kích hoạt?

+0

Triggers không có tùy chọn này. – Devart

Trả lời

4

Bạn không thể đính kèm nhận xét vào trình kích hoạt.

Tuy nhiên, bạn có thể đặt nhận xét vào phần thân kích hoạt.

Nếu bạn gõ trong cơ thể ý kiến ​​như /** comment **/
Bạn có thể trích xuất những ý kiến ​​với các truy vấn sau đây:

SELECT 
    SUBSTRING(b.body, b.start, (b.eind - b.start)) as comment 
FROM (
    SELECT 
    a.body 
    ,locate('/**',a.body) as start 
    ,locate('**/',a.body) as eind 
    FROM (
    SELECT t.ACTION_STATEMENT as body FROM information_schema.triggers t 
    WHERE t.TRIGGER_NAME like %aname% 
) a 
) b 
4

Để giải quyết sự cố, bạn có thể viết văn bản nhận xét bên trong phần thân của trình kích hoạt, ví dụ: -

CREATE TRIGGER trigger1 
AFTER INSERT 
ON table1 
FOR EACH ROW 
BEGIN 
    -- 'Wonderful trigger with insert inside'; 
    INSERT INTO table2 VALUES(NEW.id); 
END 
1

Bạn có thể đặt bình luận trong mysql kích hoạt trong ví dụ gì theo cách

CREATE TRIGGER trigger1 
AFTER INSERT 
ON table1 
FOR EACH ROW 
BEGIN 
    /*!99999 This is my comment , i will ignore at run time. */ 
    INSERT INTO table2 VALUES(NEW.id); 
END 

Để ngăn không cho “mã” được thực thi, bạn chỉ có thể sử dụng một số phiên bản rất cao, chẳng hạn như 99999.

0

Bạn cũng có thể sử dụng

#"your comment" nó dường như làm việc như //"your comment"

bằng các ngôn ngữ khác ví dụ như: C, C++, PHP vv

+1

Cảm ơn @Dominik, nhưng tôi nghĩ rằng nó không có sự khác biệt, vì MySQL không có thông tin bình luận liên quan đến một kích hoạt. – bluish

+0

Không có vấn đề gì @bluish, nhưng tôi nghĩ rằng tôi đã không hiểu bạn đầy đủ. Bạn có nghĩa là không có tùy chọn để lưu ý kiến ​​để nhận xét MySQL? – Dominik

+0

có, đối với các bảng bạn có thể thêm nhận xét vào siêu dữ liệu của chúng, nhưng đối với trình kích hoạt, nó không được hỗ trợ. – bluish

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