Re: {REQUEST}Mccode Duping...
As was pointed out, "SQL duping" is an inaccurate term. Try looking up "why use transactions". Quoting from the first hit I found:
The last part of this - I'm not 100% convinced is accurate. Atomic writes, by their very nature, must be atomic. I've certainly never come across a situation where they have not been (assuming a single server architecture).
Transactions are easy enough once you get your head around them, however taking the initial step can be confusing. A lot of basic mistakes are made by people initially when experimenting with them, indeed, I still do from time to time.
One nasty effect visible from scripting languages is what happens if you cannot control script termination. If you fail to let the script run fully over a transaction block, then you run the risk of having invalid data states - a situtation which is never good.
Saying that, using simple exception handlers and forcing scripts to run to completion - or better yet, stored procedures is far better in my opinion.
There are - as pointed out - alternatives, simple locking *can* be effective, but again script completion here is important as is using threaded timeouts for resource (lock) allocation.
MySQL Transactional and Locking Statements (MySQL documentation)