MYSQL UPDATE仅在其他表中也存在值时

时间:2014-11-22 08:27:30

标签: mysql pdo

我使用下面的查询检查是否有一行包含我要插入的ID

INSERT INTO data_advertenties_prijsindicatie (ID_advertentie, 
                                              prijs_indicatie,
                                              eenheid)
       SELECT ID_advertentie, :prijs_indicatie, :eenheid
       FROM data_advertenties
       WHERE ID_advertentie = :ID_advertentie AND 
             unieke_hash_plaatsen = :hash_plaatsen

如何以同样的方式更新?我只想更新表data_advertenties_prijsindicatie,如果ID_advertentie' AND' unieke_hash_plaatsen'表data_advertenties

中存在

2 个答案:

答案 0 :(得分:0)

将UPDATE与WHERE子句一起使用子查询

UPDATE data_advertenties_prijsindicatie
  SET prijs_indicatie = ..., eenheid = ...
WHERE EXISTS(
   SELECT 0 FROM  data_advertenties
   WHERE 
     ID_advertentie = :ID_advertentie AND unieke_hash_plaatsen = :hash_plaatsen
)

答案 1 :(得分:0)

愚蠢的我,加入桌子......

UPDATE data_advertenties_teksten a
INNER JOIN data_advertenties b ON a.ID_advertentie = b.ID_advertentie 
SET omschrijving_aanbieding = 'te265125st'
WHERE b.ID_advertentie = 109
AND unieke_hash_plaatsen = 'd'