mysql存储过程问题_存储过程 – MySQL存储过程导致问题?

编辑:

我把我的mysql等待超时缩小到这一行:

IF @resultsFound > 0 THEN

INSERT INTO product_search_query (QueryText,CategoryId) VALUES (keywords,topLevelCategoryId);

END IF;

知道为什么会导致问题吗?我无法解决这个问题!

嗨伙计们,我写了一个存储过程来搜索某些类别的产品,由于我遇到的某些限制,我无法做我想要的(限制,但仍然返回找到的总行数,排序等.)

这意味着将1,2,3 in的类别ID拆分为临时表,然后根据排序选项和限制构建全文搜索查询,执行查询字符串,然后选择结果总数.

现在,我知道我不是MysqL大师,离它很远,我已经有了它的工作,但我一直在等待产品搜索等等.所以我认为这可能会导致某种问题?

有没有人有任何想法如何我可以整理它,甚至以一种我可能不知道的更好的方式做到这一点?

谢谢..

DELIMITER $$

DROP PROCEDURE IF EXISTS `product_search` $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `product_search`(keywords text,categories text,topLevelCategoryId int,sortOrder int,startOffset int,itemsToReturn int)

BEGIN

declare foundPos tinyint unsigned;

declare tmpTxt text;

declare delimLen tinyint unsigned;

declare element text;

declare resultingNum int unsigned;

drop temporary table if exists categoryIds;

create temporary table categoryIds

(

`CategoryId` int

) engine = memory;

set tmpTxt = categories;

set foundPos = instr(tmpTxt,',');

while foundPos sql_CALC_FOUND_ROWS

supplier.SupplierId as Supplier_SupplierId,supplier.Name as Supplier_Name,supplier.ImageName as Supplier_ImageName,product_result.ProductId as ProductResult_ProductId,product_result.SupplierId as ProductResult_SupplierId,product_result.Name as ProductResult_Name,product_result.Description as ProductResult_Description,product_result.ThumbnailUrl as ProductResult_ThumbnailUrl,product_result.Price as ProductResult_Price,product_result.DeliveryPrice as ProductResult_DeliveryPrice,product_result.StockStatus as ProductResult_StockStatus,product_result.TrackUrl as ProductResult_TrackUrl,product_result.LastUpdated as ProductResult_LastUpdated,MATCH(product_result.Name) AGAINST(?) AS ProductResult_Relevance

FROM

product_latest_state product_result

JOIN

supplier ON product_result.SupplierId = supplier.SupplierId

JOIN

category_product ON product_result.ProductId = category_product.ProductId

WHERE

MATCH(product_result.Name) AGAINST (?)

AND

category_product.CategoryId IN (select CategoryId from categoryIds)

ORDER BY

",@sortString),"

LIMIT ?,?;

");

set @keywords = keywords;

set @startOffset = startOffset;

set @itemsToReturn = itemsToReturn;

PREPARE TheSelect FROM @theSelect;

EXECUTE TheSelect USING @keywords,@keywords,@startOffset,@itemsToReturn;

SET @resultsFound = FOUND_ROWS();

SELECT @resultsFound as 'TotalResults';

IF @resultsFound > 0 THEN

INSERT INTO product_search_query (QueryText,topLevelCategoryId);

END IF;

END $$

DELIMITER ;

非常感谢任何帮助!

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值