日常工作中可能有针对需要对某个表进行造数,如何批量插入呢?
可以使用存储过程循环结构。下面是一个存储过程以插入100条,while语句后的<=控制循环次数。
concat是一个拼接语句,拼接后是test_1-100,这种也适用于ID/name唯一的情况。
CREATE PROCEDURE insert_data()
BEGIN
DECLARE counter INT DEFAULT 1;
WHILE counter <= 100 DO
SET @name = CONCAT('test_', counter);
INSERT INTO table1 (name) VALUES (@name);
SET counter = counter + 1;
END WHILE;
END
#调用存储过程
CALL insert_data();
调用后就会插入100条,具体可以替换insert语句,或者其他语句也是可以。
#查看存储过程
show create procedure insert_data;
#删除
drop procedure if exists insert_data;