Скажем есть такое поле в таблице, как active,
есть кучу записей, этим полем определяется активность.
Есть функция, сделать активным запись. Следовательно предыдущая запись с active=1 превращается в active=0, а новой присваивается active=1
Можно ли в запросе update найти поле с active=1, и заменить его на active=0, затем присвоить единичку другой записи. Думаю это надо в два запроса делать?
Надо еще такую штуку, чтобы если одно из действий не сработало, все вернулось на свои места. Не помню названия этой штуке. Транзакция вроде.
Примечание:
Примерный запрос, если можно напишите.
Примечание:
zeloras, не поверишь, это и делается через php. Вопрос не о том, как сделать на php, а как сделать на mysql. Читай лучше. В php запросы вставить сам смогу, а сделать то, что я написал точно можно в БД. Что за привычка писать не пойми чего, не имеющее к вопросу отношения? Если можешь на php написать, написал бы на php, а не кидался бы словами.
Примечание:
"1-active"
это значит = 0?
так понял запрос только на обновление старой записи?
Новое присвоение единички к active надо отдельно делать?
Примечание:
А old_id это запись, где сделать с 1 на 0? Так старый неизвестен, его тоже в бд надо выбирать...
Хе, заминусовали. Это кулхацкеры зашли, поняли , что им не по зубам задача, поставили единичку и убежали, рыдая -)
Примечание:
Спасибо.
А как выудить тогда old.id?
table_name.id - это зачем тут нужно? Просто интересно
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.