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

Pemicu MySQL untuk menghapus catatan lama dan memasukkan yang baru

Itu kemungkinan besar karena pemicu Anda bahkan tidak ada. Masalahnya ada di sini

create
  trigger 'copy_eform_data'

Dengan tanda kutip tunggal copy_eform_data adalah string.

Lihat posting ini: Kapan menggunakan tanda kutip tunggal, tanda kutip ganda, dan tanda kutip balik?

Anda juga harus membaca tentang NEW dan OLD kata kunci dalam pemicu. Pemicu Anda mungkin tidak pernah cocok dengan satu baris.

Dan di sini

where ack_no=select max(s.ack_no) from asdb.sda_user_eform_data s

Anda kehilangan tanda kurung.

Terlepas dari semua itu, sejujurnya saya tidak terlalu memikirkan logika Anda secara mendalam, karena saya tidak melihat titik dalam seluruh pertanyaan Anda. Mengapa Anda ingin memiliki data duplikat? Saya kira karena alasan kinerja? Minta tabel Anda diindeks dengan tepat dan seharusnya tidak ada masalah. Dan untuk mendapatkan 5 entri terbaru dari tabel Anda cukup gunakan

FROM yourTable
ORDER BY when_was_the_entry_created_or_something DESC 
LIMIT 5

Anda dapat memiliki kolom seperti

created timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

untuk digunakan dalam ORDER BY . Dan Anda mungkin menginginkan indeks pada kolom itu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bekerja dengan file CSV besar di MATLAB

  2. MySQL - pilih data dari database antara dua tanggal

  3. Menanyakan jumlah item dari pohon

  4. MySQL memuat nilai NULL dari data CSV

  5. Pengaturan server Web dan Database untuk mendapatkan zona waktu UTC dengan benar