У меня необычная ситуация, когда мне приходится обновлять таблицу значениями из другой, две таблицы идентичны.
Table 1 and Table 2
+-------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+----------+------+-----+---------+-------+
| timeStamp | datetime | NO | PRI | NULL | |
| obj_id | int(10) | NO | PRI | NULL | |
| value | double | YES | | NULL | |
+-------------+----------+------+-----+---------+-------+
И мне нужно обновить table1 значениями, хранящимися в table2.
Я попытался с некоторой полезной информацией, найденной здесь, на SO ...
после нескольких попыток, я пришел к такому запросу:
UPDATE table1 AS f
SET table1.value = t.value
FROM table2 AS t
WHERE (f.timeStamp, f.obj_id) = (t.timeStamp,t.obj_id);
ofc безуспешно до сих пор: (
ошибка наиболее распространенная: ОШИБКА 1064 (42000): у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, дляправильный синтаксис для использования рядом с «ИЗ таблицы2 КАК ГДЕ (f.timeStamp, f.obj_id) = (t.timeStamp, t.obj_id)» в строке 1