Det er højst sandsynligt, fordi din trigger ikke engang eksisterer. Problemet er her
create
trigger 'copy_eform_data'
Med de enkelte anførselstegn copy_eform_data
er en streng.
Tag et kig på dette indlæg: Hvornår skal man bruge enkelte anførselstegn, dobbelte anførselstegn og bagtil?
Du bør også læse op om NEW
og OLD
søgeord i triggere. Din trigger matcher sandsynligvis aldrig en linje.
Og her
where ack_no=select max(s.ack_no) from asdb.sda_user_eform_data s
du mangler parenteser.
Bortset fra alt det har jeg ikke rigtig haft en dyb tanke om din logik for at være ærlig, for jeg kan ikke se en mening med hele dit spørgsmål. Hvorfor vil du have duplikerede data? Jeg gætter på præstationsmæssige årsager? Få din tabel indekseret korrekt, og der skulle ikke være noget problem. Og for at få de 5 seneste poster i dit bord skal du blot bruge
FROM yourTable
ORDER BY when_was_the_entry_created_or_something DESC
LIMIT 5
Du kan have kolonner som
created timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
at bruge i din ORDER BY
. Og du vil sikkert have et indeks på den kolonne.