2013-11-13 2 views
0

Я новичок и с помощью mysql. У меня есть две таблицы продукты и клиентов и есть DATE столбец как в таблице, которая сохраняет текущую временную метку всякий раз, когда запись модифицирована. Теперь мне нужно обновить строку в обеих таблицах, но я хочу, чтобы метка CURRENT хранилась одинаково в обеих таблицах. Я обнаружил, что UPDATE не одновременно принимает несколько имен таблиц. Я знаю, что это должно быть просто, но я понятия не имею, как это сделать. Может быть, я не могу определить логику для этого. Спасибо за помощь мне и жаль хромой вопрос :-pКак хранить отметку времени в двух таблицах одновременно в mysql

+0

ли вы выполнить обновление партии или простое обновление строки? –

+0

Простое обновление строки sir –

ответ

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); 
+1

Не забудьте включить это в транзакцию. –

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.

Тем не менее я предпочтет путь дал Юргена г (хранимая процедура)

Смежные вопросы