mysql存储过程,每次1000条一次插入3万数据
时间: 2023-07-04 07:22:56 浏览: 262
可以使用存储过程来每次插入1000条数据,直到所有的3万条数据都被插入完毕。以下是一个简单的存储过程示例:
```
DELIMITER //
CREATE PROCEDURE insert_data()
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE total_rows INT DEFAULT 30000;
WHILE i < total_rows DO
INSERT INTO table_name (column1, column2, column3)
SELECT column1, column2, column3 FROM source_table LIMIT i, 1000;
SET i = i + 1000;
END WHILE;
END //
DELIMITER ;
```
这个存储过程将会循环执行,每次插入 1000 条数据到表 `table_name` 中的 `column1`,`column2` 和 `column3` 字段中。在每一次循环中,存储过程会从 `source_table` 中提取下一批 1000 条数据,并插入到 `table_name` 中。循环将会一直执行,直到所有的 3 万条数据都被插入到 `table_name` 中为止。
要执行该存储过程,可以使用以下语句:
```
CALL insert_data();
```
这将会每次插入 1000 条数据到表中,并在所有的 3 万条数据都被插入到 `table_name` 中后结束循环和插入操作。你可以根据你的需要修改该存储过程中的表名和字段名,并在 `LIMIT` 子句中设置你要提取的数据的数量。
阅读全文