Такой вопрос. Можно ли как-то оптимизировать два запроса - в идеале сократить их до одного - для решения задачи чтения строки и обновлением, при этом, в ней одной ячейки.
Код
$sq1="SELECT * FROM table WHERE ( field1='search' ) LIMIT 1";
$sq2="UPDATE table SET field2='value' WHERE field1='search' LIMIT 1";
На ум приходит объединить запросы. Наверно, это дает какую-то экономию. Если не на уровне БД, то хотя бы на уровне скрипта php.
Код
$sq1="( UPDATE table SET field2='value' WHERE field1='search' LIMIT 1 ) UNION ( SELECT * FROM table WHERE ( field1='search' ) LIMIT 1 )";
Но, я так понимаю, во второй половине запроса будет производиться еще раз поиск по всей таблице. А можно ли сделать так, чтобы оперировать уже найденной строкой? То есть, чтобы не искать ее повторно для записи.
И еще. Что получится в результате выполнения объединенного запроса? Будет ли массив с данными?