Name
REPLACE
Synopsis
REPLACE [LOW_PRIORITY|DELAYED] [INTO]table[(column,...)] VALUES ({expression|DEFAULT},...)[, (...)] REPLACE [LOW_PRIORITY|DELAYED] [INTO]tableSETcolumn={expression|DEFAULT}[, ...] REPLACE [LOW_PRIORITY|DELAYED] [INTO]table[(column,...)] SELECT...
Use this statement to insert new rows of data and to replace
existing rows where the PRIMARY KEY or
UNIQUE index key is the same as the new record
being inserted. This statement requires INSERT and
DELETE privileges because it is potentially a
combination of both.
The LOW_PRIORITY keyword instructs the server to wait until there are no queries
on the table named, including reads, and then to lock the table for
exclusive use by the thread so that data may be inserted and replaced.
When the statement is finished, the lock is released, automatically.
For busy servers, a client may be waiting for quite a while. The
DELAYED keyword will free the client by storing the statement in a
buffer for processing when the table is not busy. The client won’t be
given notice of the success of the statement, just that it’s buffered.
If the server crashes before the changes to the data are processed,
the client will not be informed and the buffer contents will be lost.
The INTO keyword is optional and is a matter of style preference and
compatibility with other database engines.
The REPLACE statement has three basic
formats. The first contains the values for each row in parentheses
after the VALUES keyword. If the order and number ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access