Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

secara otomatis memperbarui baris setelah waktu tertentu

Anda memiliki 2 opsi untuk mengelola ini berdasarkan skala waktu yang mereka pilih.

  1. Simpan waktu kedaluwarsa dengan iklan dan sertakan kedaluwarsa> SEKARANG(); dalam kueri apa pun untuk memilih iklan (jenis ini meniadakan persyaratan untuk bidang 'aktif'.

  2. gunakan acara untuk mengelola ini.

Metode 1 mungkin memerlukan beberapa admin untuk 'membersihkan iklan' secara berkala.

Metode 2 - Anda belum dapat membuat acara dalam prosedur (terakhir kali saya memeriksa) tetapi mereka memungkinkan Anda untuk mengatur dan melupakan tugas admin semacam ini tanpa harus menjalankan pemeriksaan lain dan yang tidak.

Setiap acara harus memiliki nama unik jika tidak, Anda akan mematikan acara yang telah ditentukan...

contoh:

<?php

$qry = "insert into ads values ( 'x', 'y', 'z' );"; 
/* db execute qry (pdo or what ever) */
$adId = // retriev a unique reference for ad.
$days = $_POST['expire'] == 16 ? 16 : 8;

$qry = "CREATE EVENT updateAd_".$adId."
    ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL ".$days." DAY
    ON COMPLETION NOT PRESERVE
    DO
    update ads set active = 'false' where ad_id = ".$adId.";";
// db execute qry (pdo or what ever);
?>

Acara disimpan dalam database mysql dan bukan milik Anda sehingga Anda memerlukan beberapa izin tingkat admin untuk mengimplementasikannya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. python pymysql.err.OperationalError:(2013, 'Koneksi terputus ke server MySQL selama kueri')

  2. Streaming kumpulan hasil besar dengan MySQL 4.1.x + Connector/J

  3. Bagaimana cara membuat fungsi add friend/defriend di PHP?

  4. Kiri JOIN lebih cepat atau Inner Join lebih cepat?

  5. Pembaruan Mysql berdasarkan keberadaan di tabel lain