Not to play the smartass here, but the answer is in the man page you linked:

For another MySQL extension to standard SQL — that either inserts or updates — see Section 13.2.4.3, “INSERT ... ON DUPLICATE KEY UPDATE Syntax”. INSERT ... ON DUPLICATE KEY UPDATE is available as of MySQL 4.1.0.

Note that unless the table has a PRIMARY KEY or UNIQUE index, using a REPLACE statement makes no sense. It becomes equivalent to INSERT, because there is no index to be used to determine whether a new row duplicates another.

And because it's easier, try to insert, fail for duplicate key, then insert. It doesn't know if "replace" will always match an existing row (and knowing this should make you use an update, no need for replace)