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.
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!