MySQL Update Query проблема - PullRequest
       3

MySQL Update Query проблема

3 голосов
/ 12 октября 2011

Я знаю, что это как-то связано с синтаксисом, но я ищу способ сделать следующее:

UPDATE modules
SET ServerID = boards.ServerID
FROM boards,modules
WHERE modules.ID = boards.ID

это не работает.Я использую MySQL

Ответы [ 4 ]

3 голосов
/ 12 октября 2011

Попробуйте это:

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.

1 голос
/ 12 октября 2011
UPDATE modules
INNER JOIN boards
ON modules.ID = boards.ID
SET modules.ServerID = boards.ServerID
1 голос
/ 12 октября 2011
UPDATE modules
SET ServerID = (SELECT b.ServerID FROM boards b WHERE b.ID = modules.ID)
0 голосов
/ 12 октября 2011

Синтаксис UPDATE не включает ОТ

ОТ предназначен для ВЫБРАТЬ.

, если вы хотите объединить два:

UPDATE modules SET ServerID = (SELECT boards.ServerID FROM boards WHERE boards.ID = modules.ID)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...