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

王林
Lepaskan: 2023-08-27 19:13:02
ke hadapan
855 orang telah melayarinya

如果用于在 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)
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan