テーブルの各行を更新するためにストアド プロシージャで while ループを使用していますが、更新値はすべての行で同じままです。
私のストアドプロシージャは次のようになります
DELIMITER ;;
CREATE PROCEDURE lesrows()
BEGIN
DECLARE n INT DEFAULT 0;
DECLARE i INT DEFAULT 0;
DECLARE lesrand INT DEFAULT 0;
SELECT COUNT(*) FROM students INTO n;
select(FLOOR(2000 + RAND() * (3000 - 2000) )) into lesrand;
SET i=0;
WHILE i<n DO
UPDATE students set student_number= lesrand;
SET i = i + 1;
END WHILE;
End;
;;
call lesrows();
すべての行に一意の番号ではなく、すべての行に定数番号を挿入するのはなぜですか?