我有一个包含多个表的数据库,并且所有查询都可以工作,但我想要一个新的数据库,但无法成功使其工作。 两个表“vins”和“producteurs”,在我的“vins”表中具有外键 IDproducteur。 我需要从 Excel 源更新“vins”表,其中数据并不总是正确写入,并且需要更改“vins”表的某些记录的库存值。p.nomproducteur 和 V.annee 和 v.nom是参数,但为了测试我设置了硬值。 我的查询如下:
UPDATE vins AS v
JOIN producteurs p
ON ( p.IDproducteur = v.IDproducteur AND p.nomproducteur LIKE "Charles" )
SET stock = 10
WHERE v.nom LIKE "Symphonie" AND v.annee = 2013
我有两条记录,其中 Producteur 是“Charles”,V.nom 是 Symphonie,其中一条是 annee = 2010,另一条是 2013。我在 phpMyadmin 中没有收到错误,但即使更改某些命令顺序,我的查询也没有结果。 难道我想要的事情就不可能实现吗?
最佳答案
将条件 p.nomproducteur LIKE "Charles"
放入 WHERE 子句中:
UPDATE vins v
JOIN producteurs p ON p.IDproducteur = v.IDproducteur
SET stock = 10
WHERE
v.nom = "Symphonie" AND v.annee = 2013 AND p.nomproducteur = "Charles"
在这种情况下也不需要 LIKE
,一个简单的 =
就可以了。
关于Mysql 我可以用 join 进行更新吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55891939/