Det beror mest troligt på att din trigger inte ens existerar. Problemet är här
create
trigger 'copy_eform_data'
Med de enskilda citattecken copy_eform_data
är en sträng.
Ta en titt på det här inlägget: När ska man använda enkla citattecken, dubbla citattecken och backticks?
Du bör också läsa om NEW
och OLD
nyckelord i triggers. Din trigger matchar förmodligen aldrig en linje.
Och här
where ack_no=select max(s.ack_no) from asdb.sda_user_eform_data s
du saknar parenteser.
Bortsett från allt det där så hade jag inte riktigt en djup tanke på din logik om jag ska vara ärlig, för jag ser ingen poäng med hela din fråga. Varför skulle du vilja ha dubbletter av data? Av prestationsskäl antar jag? Låt din tabell indexeras på lämpligt sätt och det borde inte vara några problem. Och för att få de 5 senaste posterna i ditt bord, använd bara
FROM yourTable
ORDER BY when_was_the_entry_created_or_something DESC
LIMIT 5
Du kan ha kolumner som
created timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
att använda i din ORDER BY
. Och du vill förmodligen ha ett index på den kolumnen.