У меня есть следующий код SQL:SQL Обновление таблицы с помощью представления
SELECT
`table1`.`field1`
, `view1`.`newfield1`
FROM
`table1`
INNER JOIN `GCOTDA2`.`view1`
ON (`table1`.`id1` = `view1`.`id1`) AND (`table1`.`id2` = `view1`.`id2`);
Запрос работает нормально, но теперь я хочу, чтобы скопировать view1.newfield1 в table1.field1. Таким образом, я написал следующее заявление:
UPDATE `table1`
SET
`table1`.`field1` = `view1`.`newfield1`
FROM
`table1`
INNER JOIN `view1`
ON (`table1`.`id1` = `view1`.`id1`) AND (`table1`.`id2` = `view1`.`id2`);
Однако обновление не работает, и я получил сообщение об ошибке:
Error Code: 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
`table1`
INNER JOIN `view1`
' at line 4
я проверил на Google и другие вопросы на этом сайте, таких как: How do I UPDATE from a SELECT in SQL Server? и Error Code: 1064 in mysql не повезло. (MySQL Server 5.5.27) Мне нужен кто-то, чтобы осветить меня, спасибо!
Спасибо! Это работает, но можете ли вы объяснить мне, почему мой код не работает? еще раз спасибо! – Emer