Collections:
UPDATE with Subquery Returning No Rows in MySQL
What Happens If the UPDATE Subquery Returns No Rows in MySQL?
✍: FYIcenter.com
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)
⇒ Error: Subquery Returns More than 1 Row in MySQL
⇐ UPDATE Using Data from Other Tables in MySQL
2018-01-08, 2904🔥, 0💬
Popular Posts:
Where Is the Export Dump File Located in Oracle? If you are not specifying the dump directory and fi...
How To Format Time Zone in +/-hh:mm Format in SQL Server Transact-SQL? From the previous tutorial, y...
Where to find answers to frequently asked questions on Transaction Management: Commit or Rollback in...
What Are Bitwise Operations in SQL Server Transact-SQL? Bitwise operations are binary operations per...
How To Convert Binary Strings into Integers in SQL Server Transact-SQL? Binary strings and integers ...