Това най-вероятно е, защото вашият тригер дори не съществува. Проблемът е тук
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
. И вероятно искате индекс на тази колона.