Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để tạo sự kiện mysql bên trong một thủ tục hoặc trình kích hoạt?

Xin lỗi anh trai nhưng từ những gì tôi đã được đọc những gì bạn đang đề xuất là không thể. Tôi không nghĩ rằng bạn có thể tạo sự kiện với trình kích hoạt. Điều đó thật đáng tiếc vì nó cũng hữu ích cho tôi.

Tuy nhiên, sẽ dễ dàng hơn để tạo sự kiện khi hàng cho mỗi trận chiến được tạo. Hear là một ví dụ về một số mã mà tôi tìm thấy từ một người đàn ông giải thích cách các sự kiện hoạt động.

<?php
// establish database connection and filter incoming data
// ...
// insert blog post with pending status, get id assigned to post
$query = "INSERT INTO blog_posts (id, title, post_text, status) 
VALUES (NULL, :title, :postText, 'pending')";
$stm = $db->prepare($query);
$stm->execute(array(":title" => $title, ":postText" => $text));
$id = $db->lastInsertId();

// is this a future post?
if (isset($_POST["schedule"], $_POST["time"])) {
$scheduleDate = strtotime($_POST["time"]);

$query = "CREATE EVENT publish_:id
ON SCHEDULE AT FROM_UNIXTIME(:scheduleDate)
DO
  BEGIN
    UPDATE blog_posts SET status = 'published' WHERE id = :id;
  END";
$stm = $db->prepare($query);
$stm->execute(array(":id" => $id, ":scheduleDate" => $scheduleDate));
}
// this is not a future post, publish now
else {
$query = "UPDATE blog_posts SET status = 'published' WHERE id = :id";
$stm = $db->prepare($query);
$stm->execute(array(":id" => $id));
}

Vì vậy, về cơ bản hãy tạo sự kiện khi bạn thêm trận chiến vào bảng.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lưu trữ số nguyên rất lớn trong MySQL

  2. Tại sao lại đặt thông tin đăng nhập MySQL bên ngoài thư mục www?

  3. Chuyển đổi dự phòng chuỗi kết nối MySQL c #

  4. cách thích hợp để chuyển đổi giữa datetime của mysql và dấu thời gian của python là gì?

  5. Lưu tệp dưới dạng blob trong cơ sở dữ liệu ajax php pdo