У меня есть таблица report_business_likes
с соответствующими полями:Как обновить значение поля на основе другой таблицы в mySql?
id, facebook_id, created_at, some_info
-- ----------- ----------- ----------
1 123456789 '2013-12-23' blabla
У меня есть другая таблица с именем businesses
с последовавшей структурой:
id, fb_id, data
-- ----- ----
33 123456789 xxx
Я хочу, чтобы заменить в report_business_likes
поле facebook_id
с id
из таблицы businesses
.
В моем случае, результат должен быть:
id, facebook_id, created_at, some_info
-- ----------- ----------- ----------
1 33 '2013-12-23' blabla
Как вы можете видеть, что я заменил 123456789
с 33
.
Как я могу это достичь?
Я пробовал:
UPDATE `report_business_likes` SET facebook_id = BZ.id from
(select id from `businesses` where fb_id = 123456789) as BZ,
where facebook_id = 123456789 AND date(created_at) = '2013-12-23';
Но получить синтаксическую ошибку:
[SQL] /*SELECT * FROM `report_business_likes` where facebook_id = 123456789 AND date(created_at) = '2013-12-23';*/
UPDATE `report_business_likes` SET facebook_id = BZ from
(select id from `businesses` where fb_id = 123456789) as BZ,
where facebook_id = 123456789AND date(created_at) = '2013-12-23';
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from
(select id from `businesses` where fb_id = 123456789) as BZ,' at line 3
Пожалуйста, помогите,
Удалить кавычки в именах таблиц и столбцов. – Sergi
отправить сообщение об ошибке – Barranka
@Barranka Я отправил (а) сообщение об ошибке, спасибо – snaggs