我有一個查詢,它根據某些條件列出用戶 ID。
現在我想將每個用戶 ID 插入到不同的表中。我正在考慮一個回圈,它將遍歷串列并逐行插入。
這是我的選擇查詢:
SELECT s.id, s.name FROM students s
limit 10000;
我怎樣才能做出一個回圈。如何從回圈中的 select 陳述句中獲取值?
DROP PROCEDURE IF EXISTS loop_date;
DELIMITER //
CREATE PROCEDURE loop_date()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (number_of_students < 10000) DO
INSERT INTO users (student_id,student_name) VALUES (X?, Y?);
SET i = i 1;
END WHILE;
END;
//
DELIMITER ;
uj5u.com熱心網友回復:
您可以在單個陳述句中插入...選擇,而不是插入...值。
INSERT INTO users (student_id,student_name)
SELECT s.id, s.name FROM students s
limit 10000;
見https://dev.mysql.com/doc/refman/8.0/en/insert-select.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/466821.html
上一篇:使用403回應還是404更好?
