Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新不使用外键上的内部联接_Php_Mysql_Sql - Fatal编程技术网

Php 更新不使用外键上的内部联接

Php 更新不使用外键上的内部联接,php,mysql,sql,Php,Mysql,Sql,我正在开发一个工具,在网站上更新产品价格。我目前遇到一个查询,该查询必须更新与另一个表中的主键链接的产品的特殊价格: TABLE product_special product_id is the FK here product_id | customer_group_id | price -------------------------------------- 15468 | 1 | 5,49 15468 | 2

我正在开发一个工具,在网站上更新产品价格。我目前遇到一个查询,该查询必须更新与另一个表中的主键链接的产品的特殊价格:

TABLE product_special

product_id is the FK here

product_id | customer_group_id | price
--------------------------------------
 15468     | 1                 | 5,49
 15468     | 2                 | 3,60
 15468     | 6                 | 2,34

----------------------------------------

TABLE product

product_id is PK here

product_id | sku                 | price
--------------------------------------
 15468     | 255                 | 5,49
 15468     | 500                 | 3,60
 15468     | 5377                | 2,34
我从Excel表格中获取sku和价格,这是我到目前为止得出的结果,但它没有更新product_special中的价格:

foreach($sku=>$price的价目表){
$stmt=$dbh->prepare(“更新产品”\u特殊
product.product\u id=product\u special.product\u id上的内部联接产品
设定价格=:价格
其中sku=:sku和客户组(id=1;);
$stmt->bindParam(':price',$price);
$stmt->bindParam(':sku',$sku);
如果($stmt->execute()){
$message=“已成功更新客户价格。”;
};
}

我认为这是因为“价格”和“sku”字段在两个表中都不明确。换成
SET product\u special.price=:price,其中product\u special.sku=:sku


你也可以考虑使用别名,这样你就不必每次“/pP>”键入“产品特写”了。我认为这是因为你的字段“价格”和“SKU”都是模糊的,因为它们在两个表中都存在。将其更改为<代码> SETPATTION.Suff.Prase=:Sudio Suff.Sku=:SKU 中的价格,也可以考虑使用别名,这样您就不必每次都键入“CufftTySuffic”了,为什么要加入表呢?在客户群id=1的情况下,你不能只更新特价商品的价格吗?@TommyBs是的,你是对的。我刚把“SET price=:price”改为“SET product\u special.price=:price”,它就开始工作了。谢谢。我已将此更新为一个答案,以便您可以接受,以便其他人可以看到,如果他们有类似的问题,此问题已得到解决problem@forpas没有JOIN它就不能工作。