alpes
Весь мир на ладони
UPDATE при условии связи со второй таблицей
Мне нужно обновить поле одной таблицы при условии, что ее ключ встретится во второй таблице. Это я хочу сделать при помощи такого алгоритма:
Или одним запросом на обновление:
Собственно у меня полтора вопроса:
Можно ли как-то все обновление сделать одним запросом, типа:
и если нельзя, то какой вариан правильнее (при условии что прийдется обновлять пару тысяч записей)?
Мне нужно обновить поле одной таблицы при условии, что ее ключ встретится во второй таблице. Это я хочу сделать при помощи такого алгоритма:
PHP:
SELECT Key FROM table2 ...
while(list($Key2)=mysql_fetch_row($sql_res))
$sql_query="UPDATE Table1 SET state='Y' WHERE Key='$Key2'";
...
PHP:
SELECT Key FROM table2 ...
if(mysql_num_rows($sql_res))
{
while(list($Key2)=mysql_fetch_row($sql_res))
if(isset($w)) $w.=" OR Key='$Key2'";
else $w="Key='$Key2'";
$sql_query="UPDATE Table1 SET state='Y' WHERE $w";
...
}
Можно ли как-то все обновление сделать одним запросом, типа:
PHP:
UPDATE Table1, table2 SET Table1.state='Y' WHERE Table1.Key=table2.Key