I totally agree with Illuminatus, just adding some ideas:
- If it is possible and not very very complex, postprocess inserted row directly in trigger body. All happens in the transaction, so when something fails, row is not inserted - nothing happens, and you are not in the half of the processing.
- If such processing is impossible or too complex, simply insert the row without trigger, but dedicate one column for the state="NEW", for instance. Let you have (perl :>) process (or more than one), which selects new rows, process them and changes their state to "DONE". Be aware of race conditions if you have more than one process which does the work - you can lock processed rows, but I am not expert of MySQL. Think about necessary states for your solution...
In other words, keep whole processing in transaction, if you can. Otherwise, use a chain of db transactions, which establishes one "logical" transaction.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||