UPDATE [LOW_PRIORITY] tbl_name SET col_name1=expr1,col_name2=expr2,...
[WHERE where_definition] [LIMIT #]
UPDATE updates columns in existing table rows with new values. The
SET clause indicates which columns to modify and the values they
should be given. The
WHERE clause, if given, specifies which rows
should be updated. Otherwise all rows are updated.
If you specify the keyword
LOW_PRIORITY, execution of the
UPDATE is delayed until no other clients are reading from the table.
If you access a column from
tbl_name in an expression,
the current value of the column. For example, the following statement sets
age column to one more than its current value:
mysql> UPDATE persondata SET age=age+1;
UPDATE assignments are evaluated from left to right. For example, the
following statement doubles the
age column, then increments it:
mysql> UPDATE persondata SET age=age*2, age=age+1;
If you set a column to the value it currently has, MySQL notices
this and doesn't update it.
UPDATE returns the number of rows that were actually changed.
In MySQL 3.22 or later, the C API function
returns the number of rows that were matched and updated and the number of
warnings that occurred during the
In MySQL 3.23 you can use
LIMIT # to ensure that only a given
number of rows are changed.