问答 使用 mysql,实现测试数据批量插入?

匿名 · 2019年03月14日 · 最后由 skywingfs 回复于 2019年10月14日 · 3191 次阅读

在某度上搜索到的,一直报错,不知道哪里出了问题

有没有更好的方法实行测试数据批量插入?
如果插入的数据涉及到两表以上应该如何实现

共收到 9 条回复 时间 点赞

你这里是想写 insert 吗? 多检查一下语句格式吧

匿名 #8 · 2019年03月14日
Jerry li 回复

这个可能是写第二遍的时候不小心,已经改过来了。 报的是单引号附近错误

写了个类似的,对比看看就晓得啦~

CREATE PROCEDURE test_insert()
BEGIN
    DECLARE i INT DEFAULT 111;
    DECLARE j INT DEFAULT 60;
    WHILE i<120 DO
        INSERT INTO course VALUES(i,CONCAT("计算机导论",i),j);
        SET i=i+1;
        SET j=j+1;
    END WHILE;
END

j 截图看下你完整的脚本吧, 错误提示说是 line 1 报错, 你截的是 49 行开始

你这个后面不需要加分号吗?

mysql 语法不熟悉,我之前是 python 来执行 sql 语句实现的

我自己做批量导入都是先生成数据或 sql,再导入到数据库,这样数据量大的话速度也会很快
使用 mysql 自己的 source 或 load data 或者直接<xxx.sql 都可以做到快速导入,这个百度一下就知道怎么用了

最近也在做这个事情, 我用的 python , 每个参数都自己写方法生成跟开发类似的满足入库字段, 为插入数据的字段做准备。 通过多线程的方式,每满 1000 条做一次插入, 还要处理数据的 key 重复判断。 最后做循环, 循环的数据量 通过 start 跟 end 配置数据量级,达到数据插入的目的。

写个 python 脚本可比储存过程舒服多了,数据少 for 循环,数据量大多进程多线程插入。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册