Collections:
Error: Subquery Returns More than 1 Row in MySQL
What Happens If the UPDATE Subquery Returns Multiple Rows in MySQL?
✍: FYIcenter.com
If a subquery is used in a UPDATE statement, it must return exactly one row for each row in the update table that matches the WHERE clause. If it returns multiple rows, MySQL server will give you an error message. To test this out, you can try the following tutorial exercise:
mysql> INSERT INTO fyi_rates VALUES (0, 'Number 1');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO fyi_rates VALUES (0, 'Number 2');
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM fyi_rates WHERE id = 0;
+------+----------+
| id | comment |
+------+----------+
| 0 | Number 1 |
| 0 | Number 2 |
+------+----------+
2 rows in 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;
ERROR 1242 (21000): Subquery returns more than 1 row
⇒ Deleting an Existing Row from a Table in MySQL
⇐ UPDATE with Subquery Returning No Rows in MySQL
2018-01-08, 9443🔥, 0💬
Popular Posts:
How To Fix the INSERT Command Denied Error in MySQL? The reason for getting the "1142: INSERT comman...
How To Drop an Index in Oracle? If you don't need an existing index any more, you should delete it w...
How To Generate CREATE VIEW Script on an Existing View in SQL Server? If you want to know how an exi...
Where to find Oracle database server tutorials? Here is a collection of tutorials, tips and FAQs for...
How To Enter Unicode Character String Literals in SQL Server Transact-SQL? Unicode characters are mu...