Tôi đang tìm cách tạo một kích hoạt MySQL trên một bảng. Về cơ bản, tôi đang tạo luồng hoạt động và cần phải ghi lại hành động của người dùng. Khi người dùng đưa ra nhận xét, tôi muốn kích hoạt cơ sở dữ liệu trên bảng đó để kích hoạt và:Làm thế nào để lập trình một trình kích hoạt MySQL để chèn hàng vào một bảng khác?
- Lấy ID của hàng được chèn cuối cùng (id của hàng nhận xét).
- thực hiện INSERT vào bảng hoạt động, sử dụng dữ liệu từ hàng được chèn cuối cùng.
Tôi sẽ sao chép cơ bản trình kích hoạt này để xóa nhận xét.
Câu hỏi tôi đã:
- là LAST_INSERT_ID() là cách tốt nhất để lấy id?
- Làm cách nào để lưu trữ đúng dữ liệu từ hàng nhận xét được chèn vào cuối cùng để sử dụng trong tuyên bố "INSERT vào hoạt động" của tôi?
- Tôi có nên sử dụng kết hợp các thủ tục được lưu trữ cũng như trình kích hoạt không?
- Cấu trúc cơ bản của trình kích hoạt sẽ trông như thế nào?
Cảm ơn! Đã một vài năm kể từ khi tôi chạm vào bất kỳ điều gì liên quan đến trình kích hoạt, thủ tục và chức năng của DB.
Đối với tất cả tự hỏi những gì "mới" ở đây đang đứng cho: _You có thể tham khảo các cột trong bảng đề (bảng liên quan đến việc kích hoạt) bằng cách sử dụng các bí danh OLD và NEW. OLD.col_name đề cập đến một cột của một hàng hiện có trước khi nó được cập nhật hoặc xóa. NEW.col_name đề cập đến cột của hàng mới sẽ được chèn hoặc hàng hiện tại sau khi được cập nhật._ http://dev.mysql.com/doc/refman/5.0/en///create-trigger.html – SimonSimCity
@ f00, bạn có thể vui lòng cho tôi biết trong trình kích hoạt này ... vì có mệnh đề 'cho mỗi hàng' nó sẽ quét toàn bộ bảng hay chỉ chèn các hàng mới. Cảm ơn sự giúp đỡ của bạn – SAM
@SAM, "cho mỗi hàng" chỉ xem xét các hàng được cập nhật/chèn vào theo tài liệu mysql. –