Rumah >pangkalan data >tutorial mysql >Apakah yang akan dikembalikan oleh MySQL jika subquery yang digunakan untuk menetapkan nilai baharu dalam klausa SET bagi pernyataan UPDATE mengembalikan berbilang baris?

Apakah yang akan dikembalikan oleh MySQL jika subquery yang digunakan untuk menetapkan nilai baharu dalam klausa SET bagi pernyataan UPDATE mengembalikan berbilang baris?

王林
王林ke hadapan
2023-08-27 19:13:02890semak imbas

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

Dalam kes ini, MySQL akan mengembalikan mesej ralat kerana kami tahu bahawa jika anda menggunakan subquery untuk menetapkan nilai baharu dalam klausa SET kenyataan UPDATE, maka ia mesti mengembalikan satu baris untuk setiap baris yang sepadan dalam kemas kini. jadual WHERE klausa.

Contoh

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)

Seperti yang kita lihat di atas, jadual "info" mempunyai dua baris dengan id = 5, jadi apabila kita menggunakannya dalam subquery, ia akan mengembalikan berbilang baris, jadi MySQL akan mengembalikan mesej ralat, Seperti berikut- rreeee

Atas ialah kandungan terperinci Apakah yang akan dikembalikan oleh MySQL jika subquery yang digunakan untuk menetapkan nilai baharu dalam klausa SET bagi pernyataan UPDATE mengembalikan berbilang baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam