其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

火车头采集 入库模块存储过程

GG网络技术分享 2025-03-18 16:10 6


入库模块存储过程–实现一条记录拆分插入多列,并同时插入两表是引用上一个表自增ID,以mysql实例

当有类似下列应用场景:

将甲同学的姓名插入useinfo表,另甲同学有多张图片,需插入pic表,并且要求两表相关联,图片是一张图片插入一行。

那这就要求,pic表可以获得useinfo表中甲同学的自增ID。这种复杂的插入过程,则需要存储过程了。

以上述情况,可使用如下存储过程

 

BEGIN
DECLARE po INT DEFAULT 0;
DECLARE oid INT DEFAULT 0;
DECLARE rid VARCHAR(200) DEFAULT “”;
DECLARE rid_tmp VARCHAR(200) DEFAULT “”;

insert into `useinfo`(usename) values(usename);
select max(id) from `useinfo` into oid;

SET po= LOCATE(“,”,pics);
SET rid=LEFT(pics,po-1);
SET rid_tmp=SUBSTR(pics,po+1);

WHILE po >0 DO
INSERT INTO `pic`(useid,pic) values(oid,rid);
SET po =LOCATE(“,”,rid_tmp);
SET rid=LEFT(rid_tmp,po-1);
SET rid_tmp=SUBSTR(rid_tmp,po+1);
END WHILE  ;
INSERT INTO `pic`(useid,pic) values(oid,rid_tmp);

END

201708181543543493

首先在数据库手动创建存储过程,这个heidisql工具创建存储过程的界面,传入参数,需要手动添加。存储过程建立好后。在火车采集器的入库模块中可以直接调用:201708181555232456

其中需要注意,插入的图片标签中的值是以 逗号间隔:

201708181558191534

执行结果:

201708181558573569201708181559045603

若是有类似的情况可以修改下存储过程,一些关于存储过程的详细使用方法,可以百度教程自行学习哦。这里仅提供使用示例。

标签:

提交需求或反馈

Demand feedback