MySQL 循环插入数据

有时为了做数据,逐行插入效率过低,可使用以下循环的方式对数据进行插入

语法

  1. DELIMITER 用于修改 MySQL 默认的结束符
    • 由于 MySQL 默认的结束符是 ; ,在事务执行中则会出现问题,所以需要修改
  2. MySQL 不支持匿名方法,所以需要创建一个 PROCEDURE 来执行
  3. 创建事务后不会直接执行,需要手动执行,即输入 CALL repeatCourse();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DELIMITER //
CREATE PROCEDURE repeatCourse()
BEGIN
DECLARE num INT;
SET num = 1;
WHILE num < 30 DO
	INSERT INTO `pt_course` (`name`, `code`)
	SELECT CONCAT('看个视频就能学会啊', num), CONCAT('COU-201705-0005', num)
	FROM pt_course
	WHERE id = 548;
SET num = num + 1;
END WHILE;
END //

CALL repeatCourse();