0

我是新手,正在使用mysql。我有两个表productscustomers,两个表中都有一个 DATE 列,每当记录被修改时存储当前时间戳。现在我必须更新两个表中的一行,但我希望CURRENT 时间戳在两个表中存储相同。我发现UPDATE 不会同时使用多个表名。我知道这一定很简单,但我不知道该怎么做。可能是我无法确定这样做的逻辑。感谢您帮助我,并对这个蹩脚的问题感到抱歉:-p

4

2 回答 2

2

使用程序

delimiter |
CREATE PROCEDURE updatewithtime(IN inputid int)
BEGIN      
    set @timestamp := now();
    update products set date = @imestamp where id = inputid;
    update customers set date = @imestamp where id = inputid;
END
|
delimiter ;

你可以这样称呼

call updatewithtime(123);
于 2013-11-13T06:27:41.033 回答
1
UPDATE TableaA a INNER JOIN TableB b ON (a.id= b.id)
SET
 //set values
WHERE a.id= 100  AND b.id= 100

注意:不能使用limit

我仍然更喜欢 juergen d(存储过程)给出的方式

于 2013-11-13T06:31:26.517 回答