Every transactional system must answer one question:
If the same request arrives twice, will the database contain one record or two?
Duplicate requests happen for many reasons — and a double-click is only the most visible one:
Double-clicks on a save button
Browser retries after a timeout






