UPDATE -- Modifies the values of column data within a table.


                column  = expression [, ...]
                [ FROM fromlist ]
                [ WHERE condition ]



The optional ONLY keyword indicates to only update the specified table (and not its inheriting child tables, if it has any).


The name of an existing table to update.


The name of a column to update in the table you specified.


An expression or value that you want assigned to the specified column.


A valid table, view, or other from_item as defined in SELECT." A PostgreSQL extension of the UPDATE command is the ability to use column values from other tables within the WHERE condition; to do this correctly, you must use this parameter to list the tables from which you will be pulling column values.


The WHERE condition for UPDATE to use when determining what rows are to be updated. This can be any valid expression resulting in a value of type boolean.


UPDATE count

The message returned when an UPDATE was successful. The count will actually be the number of rows that were modified as a result of the UPDATE. For example, if # is zero, it means that no rows were updated.

ERROR: Relation 'table' does not exist

The error returned if table is not a table in the connected database.

ERROR: Relation 'table' does not have attribute 'column'

The error returned if a column that does not exist in the table is used in the SET clause.

ERROR: Cannot update a view without an appropriate rule

The error returned if an UPDATE is attempted on a view instead of a table, without a defined rule on how to handle the attempt.


Use the UPDATE command to modify column values of all rows that match a WHERE condition that you specify. You can also use this command to update the values of array columns. For an array column, you can modify a single element, a range, or the entire array. To update only the table specified, pass the ONLY parameter: otherwise all sub-tables will be updated as well.

Note: You must have write access to any columns you are attempting to modify, and read access to any columns referenced within your WHERE statement.


The following example adds one to the total stock number for the book with the specified ISBN within the stock table:

booktown=# UPDATE stock SET stock = stock + 1 WHERE isbn = '0385121679';