2012-07-17 24 views
10

Trong mysql tôi có thể tạo ra một kích hoạt, và sau đó hiển thị thông tin về nó như thế này:Bạn có thể sửa đổi trình kích hoạt mysql hiện có sau khi nó đã được tạo không?

mysql> show triggers like 'fooTrigger'; 

Lệnh này cho phép đầu ra trông một awful nhiều như một tuyên bố chọn, với một hàng hiển thị kích hoạt phù hợp. Có thể cập nhật một cột trên hàng nó hiển thị cho tôi không?

Ví dụ: một cột có tên Statement và xác định điều gì xảy ra khi kích hoạt được kích hoạt. Có thể thay đổi trường Statement cho fooTrigger để trình kích hoạt có hoạt động khác không? Hoặc tôi có cần phải drop và lại create trình kích hoạt không?

+1

bản sao có thể có của http://stackoverflow.com/questions/717711/is-it-true-i-cant-edit-a-mysql-trigger-i-have-to-drop-it-and-create- a-new-one – qbantek

+0

Tôi nghĩ rằng một trong những câu hỏi này có thể bị đóng, nhưng tôi đã * thử tìm kiếm câu trả lời này trước khi đặt câu hỏi và tôi không tìm thấy câu hỏi được liên kết ở trên. Bạn có nên thay đổi hoặc thêm một số từ ngữ vào câu hỏi khác để làm cho nó dễ tìm thấy hơn không? –

+0

Hmmm, http://meta.stackexchange.com/questions/32311/do-not-delete-duplicates, có vẻ như chúng tôi có lẽ nên chỉ đóng phần này và sau đó người dùng sẽ vẫn có thể tìm thấy câu trả lời cho câu hỏi của họ bất kể từ ngữ. –

Trả lời

16

Kể từ MySQL 5.5, bạn phải thả và tạo lại trình kích hoạt.
Không thể cập nhật cột Statement mà không làm rơi trình kích hoạt.

Tài liệu: CREATE TRIGGERDROP TRIGGER

Bạn cũng có thể truy cập thông tin về trigger bằng cách sử dụng bảng INFORMATION_SCHEMA:

SELECT * FROM INFORMATION_SCHEMA.TRIGGERS 

Nhưng, như các bảng đang thực sự quan điểm, bạn không thể sử dụng UPDATE trên chúng.
Đó chỉ là một cách thuận tiện hơn để truy cập và thao tác thông tin hơn là sử dụng SHOW TRIGGERS.

Tài liệu: INFORMATION_SCHEMA.TRIGGERS

0

Bạn có thể yêu cầu, trên hệ điều hành Windows, Connector/Net Visual Studio Integration để xem và chỉnh sửa đối tượng cơ sở dữ liệu hiện có. Giới hạn là bạn chỉ có thể edit trigger nội dung trong vòng For each row ... vòng lặp.

Nếu không, tùy chọn duy nhất có giảm và tạo lại trình kích hoạt.
Nhưng hãy chắc chắn rằng trước khi thả trình kích hoạt mà bảng được liên kết với trình kích hoạt bị khóa và
và mở khóa sau khi kích hoạt được tạo lại.

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