Collections:
Use Existing Column Values in the SET Clause in MySQL
How To Use Existing Column Values in the SET Clause in MySQL?
✍: FYIcenter.com
If a row matches the WHERE clause in a UPDATE statement, existing values in this row can be used in expressions to provide new values in the SET clause. Existing values are represented by column names in the expressions. The tutorial exercise below shows a good example:
mysql> UPDATE fyi_links SET id = id+200, counts = id*2 WHERE id >= 500; Query OK, 5 rows affected (0.01 sec) Rows matched: 5 Changed: 5 Warnings: 0 mysql> SELECT id, url, notes, counts, DATE(created) FROM fyi_links WHERE id >= 500; +-----+-------------------+-------+--------+---------------+ | id | url | notes | counts | DATE(created) | +-----+-------------------+-------+--------+---------------+ | 801 | moc.retneciyf.ved | Wrong | 1602 | 2006-04-30 | | 802 | moc.retneciyf.abd | Wrong | 1604 | 2006-08-31 | | 803 | moc.retneciyf.aqs | Wrong | 1606 | 2006-08-31 | | 810 | | Wrong | 1620 | 2006-08-31 | | 700 | moc.retneciyf.www | Wrong | 1400 | 2006-08-31 | +-----+-------------------+-------+--------+---------------+ 5 rows in set (0.00 sec)
This statement increased values in the id column by 200. It also updated the counts column with the newly increased id value.
⇒ Order of Columns in the SET Clause in MySQL
⇐ Update Column Values on Multiple Rows in MySQL
2018-01-13, 1596🔥, 0💬
Popular Posts:
What Are the Underflow and Overflow Behaviors on FLOAT Literals in SQL Server Transact-SQL? If you e...
What Is ISAM in MySQL? ISAM (Indexed Sequential Access Method) was developed by IBM to store and ret...
How To Round a Numeric Value To a Specific Precision in SQL Server Transact-SQL? Sometimes you need ...
How To List All Login Names on the Server in SQL Server? If you want to see a list of all login name...
How To Get a List of All Tables with "sys.tables" View in SQL Server? If you want to see the table y...