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

MySQL тригер за изтриване на стар запис и вмъкване на нов

Това най-вероятно е, защото вашият тригер дори не съществува. Проблемът е тук

create
  trigger 'copy_eform_data'

С единични кавички copy_eform_data е низ.

Разгледайте тази публикация: Кога да използвате единични кавички, двойни кавички и обратни тикчета?

Също така трябва да прочетете за NEW и OLD ключови думи в тригерите. Вашият тригер вероятно никога не съвпада с ред.

И тук

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

липсват ти скоби.

Освен всичко това, не се замислих много за логиката ти, честно казано, защото не виждам смисъл в целия ти въпрос. Защо бихте искали да имате дублирани данни? Предполагам от съображения за ефективност? Индексирайте таблицата си по подходящ начин и не би трябвало да има проблем. И за да получите последните 5 записа от вашата таблица, просто използвайте

FROM yourTable
ORDER BY when_was_the_entry_created_or_something DESC 
LIMIT 5

Можете да имате колони като

created timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

за използване във вашия ORDER BY . И вероятно искате индекс на тази колона.



  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:MYSQLdb. как да получа име на колони, без да изпълнявам select * в голяма таблица?

  2. Задайте стойност AUTOINCREMENT в таблицата на django

  3. MYSQL - изберете първите 4 записа за всяка категория в таблица

  4. как да получите общия брой редове с mysqli

  5. PHP MySQL INSERT връща стойност с едно изпълнение на заявка