> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/server/reference/sql-structure/operators/assignment-operators/assignment-operators-assignment-operator.md).

# Assignment Operator (=)

## Syntax

```bnf
identifier = expr
```

## Description

The equal sign is used as both an assignment operator in certain contexts, and as a [comparison operator](/docs/server/reference/sql-structure/operators/comparison-operators/equal.md). When used as assignment operator, the value on the right is assigned to the variable (or column, in some contexts) on the left.

Since its use can be ambiguous, unlike the [:= assignment operator](/docs/server/reference/sql-structure/operators/assignment-operators/assignment-operator.md), the *`=`* assignment operator cannot be used in all contexts, and is only valid as part of a [SET](/docs/server/reference/sql-statements/administrative-sql-statements/set-commands/set.md) statement, or the SET clause of an [UPDATE](/docs/server/reference/sql-statements/data-manipulation/changing-deleting-data/update.md) statement

This operator works with both [user-defined variables](/docs/server/reference/sql-structure/sql-language-structure/user-defined-variables.md) and [local variables](/docs/server/reference/sql-statements/programmatic-compound-statements/declare-variable.md).

## Examples

```sql
UPDATE table_name SET x = 2 WHERE x > 100;
```

```sql
SET @x = 1, @y := 2;
```

## See Also

* [Operator Precedence](/docs/server/reference/sql-structure/operators/operator-precedence.md)

<sub>*This page is licensed: CC BY-SA / Gnu FDL*</sub>

{% @marketo/form formId="4316" %}
