Обновление Mysql в зависимости от наличия в другой таблице - PullRequest
0 голосов
/ 02 августа 2011

Я пытаюсь выяснить, как массово обновить таблицу mysql, основываясь на том, существует ли значение в столбце другой таблицы.

например, псевдокод:

if Table1.`col`=Table2.`col` then
  Update Table1.`status`=1

или

if table2.`col` exists in table1.`col`
  Update Table1.`status`=1

Какой лучший способ добиться этого?

Ответы [ 3 ]

3 голосов
/ 02 августа 2011

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

UPDATE table1 t1
  JOIN table2 t2
    ON t1.col = t2.col
SET t1.status = 1;
1 голос
/ 02 августа 2011

Таблица 1

col  | status 
-------------

jaga |   0

kala |   0

Таблица 2

col   | status 
--------------

jaga  |   1

latha |   0

Если Table1. col = Table2. col // Таким образом, эта точка является полной записью jaga. затем Update Table1. status = 1 // Таким образом, в таблице 1 статус строки jaga нужно обновить в 1.

Я прав?

Тогда попробуйте

UPDATE Table1 AS t1, Table2 AS t2 SET t1.col = 1 WHERE t1.col  = t2.col

Happy Codings,

0 голосов
/ 15 марта 2013
update t_checkout A
INNER JOIN t_target B on A.Media_ID = B.Media_ID
set A.status = 'R'
where A.Media_ID = 45
and exists (select * from t_target where B.Media_ID = 45 and status = 'R');

Здесь 45 жестко задано, но значение на самом деле происходит из параметра php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...