Я знаю, что это как-то связано с синтаксисом, но я ищу способ сделать следующее:
UPDATE modules SET ServerID = boards.ServerID FROM boards,modules WHERE modules.ID = boards.ID
это не работает.Я использую MySQL
Попробуйте это:
UPDATE boards,modules SET modules.ServerID = boards.ServerID WHERE modules.ID = boards.ID
Считать синтаксис MYSQL UPDATE в http://dev.mysql.com/doc/refman/5.0/en/update.html
Вы также можете выполнять операции UPDATE, охватывающие несколько таблиц .... UPDATE items,month SET items.price=month.price WHERE items.id=month.id; В предыдущем примере показано внутреннее соединение, в котором используется оператор запятой, но операторы UPDATE для нескольких таблиц могут использовать любой тип объединения, разрешенный в инструкциях SELECT, например LEFT JOIN.
Вы также можете выполнять операции UPDATE, охватывающие несколько таблиц ....
UPDATE items,month SET items.price=month.price WHERE items.id=month.id;
В предыдущем примере показано внутреннее соединение, в котором используется оператор запятой, но операторы UPDATE для нескольких таблиц могут использовать любой тип объединения, разрешенный в инструкциях SELECT, например LEFT JOIN.
UPDATE modules INNER JOIN boards ON modules.ID = boards.ID SET modules.ServerID = boards.ServerID
UPDATE modules SET ServerID = (SELECT b.ServerID FROM boards b WHERE b.ID = modules.ID)
Синтаксис UPDATE не включает ОТ
ОТ предназначен для ВЫБРАТЬ.
, если вы хотите объединить два:
UPDATE modules SET ServerID = (SELECT boards.ServerID FROM boards WHERE boards.ID = modules.ID)