|
Home >> FAQs/Tutorials >> MySQL Tutorials
MySQL Tutorial - UPDATE with Subquery Returning No Rows
By: FYIcenter.com
(Continued from previous topic...)
What Happens If the UPDATE Subquery Returns No Rows?
If you use a subquery to assign new values in the SET clause in an UPDATE statement,
and the subquery returns no rows for an outer row, MySQL will provide a NULL value to
the SET clause. The tutorial exercise below shows you a good example:
mysql> UPDATE fyi_links SET notes = 'Number one'
WHERE id = 0;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT id, url, notes, counts FROM fyi_links
WHERE id = 0;
+----+-------------------+------------+--------+
| id | url | notes | counts |
+----+-------------------+------------+--------+
| 0 | www.fyicenter.com | Number one | NULL |
+----+-------------------+------------+--------+
1 row in set (0.00 sec)
mysql> SELECT * FROM fyi_rates WHERE id = 0;
Empty set (0.00 sec)
mysql> UPDATE fyi_links SET notes = (
SELECT comment FROM fyi_rates
WHERE fyi_rates.id = fyi_links.id
)
WHERE id = 0;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT id, url, notes, counts FROM fyi_links
WHERE id = 0;
+----+-------------------+-------+--------+
| id | url | notes | counts |
+----+-------------------+-------+--------+
| 0 | www.fyicenter.com | NULL | NULL |
+----+-------------------+-------+--------+
1 row in set (0.00 sec)
(Continued on next topic...)
- What Are DML Statements?
- How To Create a Testing Table?
- How To Insert a New Row into a Table?
- How To Specify Default Values in INSERT Statement?
- How To Omit Columns with Default Values in INSERT Statement?
- What Happens If Unique Value Constraints Are Violated?
- How To Insert Multiple Rows with One INSERT Statement?
- How To Update Values in a Table?
- How To Update Column Values on Multiple Rows?
- How To Use Existing Column Values in the SET Clause?
- Is the Order of Columns in the SET Clause Important?
- How To Use Values from Other Tables in UPDATE Statements?
- What Happens If the UPDATE Subquery Returns No Rows?
- What Happens If the UPDATE Subquery Returns Multiple Rows?
- How To Delete an Existing Row from a Table?
- How To Delete Multiple Rows from a Table?
- How To Delete All Rows in a Table?
|