Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да създадете mysql събитие в процедура или тригер?

Съжалявам, братко, но от това, което прочетох, това, което предлагаш, не е възможно. Не мисля, че можете да създадете събитие с тригер. Което е неприятно, защото би било полезно и за мен.

Въпреки това би било по-лесно да се създаде събитието, когато се създаде редът за всяка битка. Hear е пример за някакъв код, който намерих от човек, който обяснява как работят събитията.

<?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));
}

Така че по същество създайте събитието, когато добавите битка към масата.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. приложението се свързва с базата данни

  2. Мигриране от MariaDB към MySQL - разлики

  3. if elseif условия в mysql заявка

  4. mysql | Codeigniter Active Records добавят допълнителни отметки за връщане към заявката

  5. Малко съвети относно Cassandra срещу MySQL