public function UpdateQuery::expression

You are here

7 query.inc public UpdateQuery::expression($field, $expression, array $arguments = NULL)

Specifies fields to be updated as an expression.

Expression fields are cases such as counter=counter+1. This method takes precedence over fields().

Parameters

$field: The field to set.

$expression: The field will be set to the value of this expression. This parameter may include named placeholders.

$arguments: If specified, this is an array of key/value pairs for named placeholders corresponding to the expression.

Return value

UpdateQuery The called object.

File

includes/database/query.inc, line 1137
Non-specific Database query code. Used by all engines.

Class

UpdateQuery
General class for an abstracted UPDATE operation.

Code

public function expression($field, $expression, array $arguments = NULL) {
  $this->expressionFields[$field] = array(
    'expression' => $expression,
    'arguments' => $arguments,
  );

  return $this;
}

Comments

Here is an example to set the value of one column to the same as another column:

db_update('tablename')
->expression('column1', 'column2')
->execute();

which is equivalent to the following SQL:

UPDATE 'tablename' SET column1=column2;