我在做一个价格比较的事情,比如这个例子,假设我有两个表。 products
以及 cpus
.
products是所有类别的所有产品的表,它有产品的sku、产品类型、最低价格、比较的各个商店的价格、比较的各个商店的链接以及比较的商店的目录号(因此我可以通过查看商店的目录号来更新价格)。
它看起来是这样的(假设我只有一家商店从那里取货):
+------------+------+-------+---------------+-----------------+--------------------------+
| SKU | type | price | store_1_price | store_1_catalog | store_1_link |
+------------+------+-------+---------------+-----------------+--------------------------+
| 20q5ekGMLw | 1 | 1064 | 1064 | YD1600BBAEBOX | randomlink.com/linkylink |
+------------+------+-------+---------------+-----------------+--------------------------+
然后,我有一个表,为每个产品类别,我存储更多的细节规格,每一个产品。
例如,表cpu(用于计算机处理器)将具有产品名称、产品sku、cpu插槽、频率、tdp、核心等。。。
可视化:
+------------------------------------+-------------+-------+-----------+-------+--------------+----------+
| name | SKU | price | frequency | cores | manufacturer | socket |
+------------------------------------+-------------+-------+-----------+-------+--------------+----------+
| i5-6600K Skylake Quad core - Tray | 20q5ekGMLw | 1064 | 3.5 | 4 | Intel | LGA-1151 |
+------------------------------------+-------------+-------+-----------+-------+--------------+----------+
现在,我想 UPDATE
(如果sku在产品中)或 INSERT
(如果 SKU
不在数据库中)。
所以,它应该是这样的:
$checkdb= $conn->query("SELECT * FROM `products` WHERE `store_1_catalog`='".$catalog."'");
if($checkdb->num_rows==0)
{
//if product not in db,add it
}
else{ //products in database, update it.
//update price in 'cpus' table where the SKU is the same SKU whose catalog already exists in the 'products' table
}
我已经做了在数据库中找不到产品的部分,所以我必须添加它。我需要更新产品的部分是我遇到困难的地方,我如何更新 SKU
是一样的 SKU
“产品”表中已存在谁的目录?
1条答案
按热度按时间jyztefdp1#
如果变量中有可用的sku,则可以使用以下查询
$sku
-UPDATE cpus SET price = (SELECT price from products WHERE SKU = '$sku') WHERE SKU = '$sku';
看看你的代码,我建议你做以下事情-请注意代码可能会中断,因为它没有经过测试。如果有,我会立即用测试过的代码更新。