Heim > Datenbank > MySQL-Tutorial > Hauptteil

Was gibt MySQL zurück, wenn die Unterabfrage, die zum Zuweisen eines neuen Werts in der SET-Klausel einer UPDATE-Anweisung verwendet wird, mehrere Zeilen zurückgibt?

王林
Freigeben: 2023-08-27 19:13:02
nach vorne
853 Leute haben es durchsucht

如果用于在 UPDATE 语句的 SET 子句中分配新值的子查询返回多行,MySQL 将返回什么?

In diesem Fall gibt MySQL eine Fehlermeldung zurück, da wir wissen, dass, wenn Sie eine Unterabfrage verwenden, um einen neuen Wert in der SET-Klausel der UPDATE-Anweisung zuzuweisen, für jede übereinstimmende Zeile in der Aktualisierung eine Zeile zurückgegeben werden muss Tabelle WHERE-Klausel.

Beispiel

mysql> insert into info(id, remarks) values(5,'average');
Query OK, 1 row affected (0.06 sec)

mysql> select * from info;
+------+-----------+
| id   | remarks   |
+------+-----------+
| 1    | Good      |
| 2    | Good      |
| 3    | Excellent |
| 4    | Average   |
| 5    | Best      |
| 5    | average   |
+------+-----------+
6 rows in set (0.00 sec)
Nach dem Login kopieren

Wie wir oben gesehen haben, hat die Tabelle „info“ zwei Zeilen mit der ID = 5. Wenn wir sie also in einer Unterabfrage verwenden, werden mehrere Zeilen zurückgegeben, sodass MySQL eine Fehlermeldung wie folgt zurückgibt: < /p>

mysql> UPDATE STUDENT SET grade = (SELECT remarks from info WHERE info.id = student.id) WHERE id = 5;
ERROR 1242 (21000): Subquery returns more than 1 row
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas gibt MySQL zurück, wenn die Unterabfrage, die zum Zuweisen eines neuen Werts in der SET-Klausel einer UPDATE-Anweisung verwendet wird, mehrere Zeilen zurückgibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage