Apabila saya melaksanakan pertanyaan ini, saya mendapat mesej ralat ini "Kod ralat: 1172. Hasilnya mengandungi berbilang baris"
CREATE DEFINER=`root`@`localhost` PROCEDURE `un_follow`( user_been_following_id int, user_following_id int ) BEGIN declare id int; select following_id into id from user_following where user_been_following_id = user_been_following_id and user_following_id = user_following_id; delete from user_following where following_id = id; ENDAdakah membantu
id ialah kunci utama jadual di bawah?
Pembolehubah setempat anda mempunyai nama yang sama dengan lajur jadual. Dengan cara ini anda tidak pernah membandingkan pembolehubah tempatan dengan lajur, tetapi sentiasa dengan pembolehubah tempatan itu sendiri.
Pertanyaan anda perlu kembali tepat satu baris untuk memberikan pembolehubah id
user_been_following_id dan user_following_id ditafsirkan sebagai pembolehubah setempat dalam semua keadaan dan oleh itu diterjemahkan seperti berikut
Semua baris tempat pengguna_pengikut dikembalikan. Untuk membetulkannya, namakan semula pembolehubah setempat anda seperti
(dengan mengandaikan tiada lajur bernama local_user_been_following_id atau local_user_following_id pada jadual user_following)
Lihat juga di sini: https://dev.mysql.com/doc/ refman/8.0/ms/local-variable-scope.html