如何从两个数据库中获取更新表的ID

时间:2014-08-22 03:01:39

标签: php mysql

我正在将记录从一个表更新到一个数据库到另一个第二个数据库表。 这工作正常。我使用了这个查询。

"UPDATE table1.value1 , table2.value2 SET table1.value1.quantity = table2.value2.qty
WHERE  table1.`value1`.`sku` = table2.`value2`.`item` ";

我需要sku哪个号码更新了

我正在使用此查询

SET @uids :=null;
"UPDATE table1.value1 , table2.value2 SET table1.value1.quantity = table2.value2.qty
WHERE  table1.`value1`.`sku` = table2.`value2`.`item` AND (SELECT @uids := CONCAT_WS(',', fooid, @uids) )

SELECT @uids;

我无法获得更新的sku的内容

有人知道怎么做吗?

由于

1 个答案:

答案 0 :(得分:1)

这是一个有趣的想法。我想知道以下是否有效:

SET @uids := '';

UPDATE table1.value1 t1 join
       table2.value2 t2
       on t1.sku = t2.item
    SET t1.quantity = (case when @uids := concat_ws(',', fooid, @uids)
                            then t2.qty
                            else t2.qty
                       end);

SELECT @uids;

编辑:

如果数量相同,您将看不到更新。只需修正join

即可
SET @uids := '';

UPDATE table1.value1 t1 join
       table2.value2 t2
       on t1.sku = t2.item and t1.quantity <> t2.qty
    SET t1.quantity = (case when @uids := concat_ws(',', fooid, @uids)
                            then t2.qty
                            else t2.qty
                       end);

SELECT @uids;