【发布时间】:2016-03-12 11:08:51
【问题描述】:
我正在使用 PHP/MySQL 进行产品搜索。当用户搜索产品时(可以搜索多个产品,它是一个带有多选的下拉菜单),它应该从表 A 中获取数据并在表 B 中插入。用户可以搜索多个产品。我在查询中有问题。它很慢,并且没有获取与产品搜索相关的所有产品。有时它只是采用第一个搜索条件。
我使用的查询如下:
$arr = explode(",",$values["prod_cat"]);
for ($i=0;$i<count($arr);$i++)
{
$strSQLInsert = "INSERT INTO TABLE B (sup_id, sup_name, sup_product, sup_contactperson,
sup_contactperson_email, tender_id)
(SELECT sup_id, sup_name, sup_prod_name, sup_contactperson, sup_email,
".$values["tender_id"]." FROM TABLE A WHERE sup_prod_name IN
('".$arr[$i]."') GROUP BY sup_name)";
我有什么错误吗?
【问题讨论】:
-
是否有特殊原因要从表 A 中插入表 B 产品?您将使用表 B 做什么?
-
如果您希望表 B 是临时的,那么您可以使用“视图”。它会更好地执行代码。
-
@Fusion。这实际上是客户的要求。首先,他将搜索产品。结果(产品名称)应保存到另一个表B
-
@WisdmLabs。它不是临时表..它应该保存在实际表中..
-
也许可以试试 SELECT INTO 语句。从表 A 中选择到表 B 中的 sub_prod_name。为什么在插入另一个表时需要 GROUP BY?也许这可能会导致延迟?
标签: php mysql full-text-search