wpdb::replace( string $table, array $data, array|string $format = null )

Replaces a row in the table.

Description Description

Examples: wpdb::replace( ‘table’, array( ‘column’ => ‘foo’, ‘field’ => ‘bar’ ) ) wpdb::replace( ‘table’, array( ‘column’ => ‘foo’, ‘field’ => 1337 ), array( ‘%s’, ‘%d’ ) )

See also See also

Top ↑

Parameters Parameters


(string) (Required) Table name.


(array) (Required) Data to insert (in column => value pairs). Both $data columns and $data values should be "raw" (neither should be SQL escaped). Sending a null value will cause the column to be set to NULL

  • the corresponding format is ignored in this case.


(array|string) (Optional) An array of formats to be mapped to each of the value in $data. If string, that format will be used for all of the values in $data. A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.

Default value: null

Top ↑

Return Return

(int|false) The number of rows affected, or false on error.

Top ↑

Source Source

File: wp-includes/wp-db.php

	public function replace( $table, $data, $format = null ) {
		return $this->_insert_replace_helper( $table, $data, $format, 'REPLACE' );

Top ↑

Changelog Changelog

Version Description
3.0.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by guardiancrescent

    The codex states
    “This method returns a count to indicate the number of rows affected. This is the sum of the rows deleted and inserted. If the count is 1 for a single-row REPLACE, a row was inserted and no rows were deleted. If the count is greater than 1, one or more old rows were deleted before the new row was inserted.”

    In MySQL databases however…
    “It is possible that in the case of a duplicate-key error, a storage engine may perform the REPLACE as an update rather than a delete plus insert, but the semantics are the same.”

    In this case 1 will be returned where 2 is expected.

You must log in before being able to contribute a note or feedback.