本文原创内容,转载请注明出处。如果你在使用火车采集器时,需要使用Mysql发布数据,遇到以下的情况会很常见。将甲同学的名称插入news表,另甲同学有多个文章正文,需插入content表,并且要求两表相关联,body是一条插入一行。
那这就要求,content表可以获得news表中甲同学的自增ID。这种复杂的插入过程,则需要存储过程了。首先看以下这两张表的设计情况如下:
news表的设计如上图所示
content表的设计如上图所示
设计完之后就可以使用Navicat创建存储过程了,name使用这个如何创建存储过程呢。点击函数,在弹出的对话框中选择过程,然后继续填写如字段就好了按照下图所示即可:
这里注意新建存储过程时,在新建字段界面没办法给字段分配空间,因此需要再编辑存储过程界面添加大小,否则保存过程时会出现1064错误,需要按照如下设置。IN `name`varchar (200) ,IN `bodys` varchar (200),这里非常重要,一定要牢记。
之后就可以编辑存储过程,并保存了。
BEGIN
DECLARE po INT DEFAULT 0;
DECLARE oid INT DEFAULT 0;
DECLARE rid VARCHAR(200) DEFAULT "";
DECLARE rid_tmp VARCHAR(200) DEFAULT "";
insert into `news`(name) values(name);
select max(id) from `news` into oid;
SET po= LOCATE(",",bodys);
SET rid=LEFT(bodys,po-1);
SET rid_tmp=SUBSTR(bodys,po+1);
WHILE po >0 DO
INSERT INTO `content`(nameid,body) 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 `content`(nameid,body) values(oid,rid_tmp);
END
保存完成之后直接测试运行,输入字段值即可。
如果你还有其它疑问可以来本站搜索相关问题,这里会有你想要的答案:大海资源库
暂无评论内容