За последние 24 часа нас посетили 20063 программиста и 1695 роботов. Сейчас ищут 1862 программиста ...

Как выбрать строки, которые изменились после выполнения ...

Тема в разделе "MySQL", создана пользователем joost, 29 ноя 2007.

  1. joost

    joost Guest

    Как выбрать строки, которые изменились после выполнения запроса на обновление

    update table set data='data1' where code=1


    как посмотреть все data, которые были изменены?
     
  2. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    сначала их выбрать - которые будут изменены.
     
  3. joost

    joost Guest

    сначала выбрать не могу.
    изменения проходят в комплексе. выбрать, то что будет изменено не реально
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    думаешь? у тебя когда *комплексное* обновление происходит ты же с условием пишешь? что мешает по этому же условию заранее выбрать?
     
  5. joost

    joost Guest

    *комплексное*
    идет выбор из одной таблици, потом по результатам выборами проходит изменение или не проходит
    все это в скрипте пхп.


    Тему создал ибо когда-то читал, что в мускуле есть такая фичка, что можно посмотреть измененые строки после запроса
     
  6. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Можно посмотреть кол-во изменённых записей - mysql_affected_rows() - но не более того. Тебе нужно выбирать [sql]SELECT * FROM table WHERE code = 1[/sql] и потом делать UPDATE
     
  7. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    вернет теже строки которые были изменены через UPDATE
     
  8. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    если никто не вклинился ))
     
  9. joost

    joost Guest

    mysql_affected_rows() вот это я имел ввиду!
     
  10. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    Ты не это имел в виду.
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    joost ОНА ПОКАЗЫВАЕТ СТРОКИ
    ????
    Разницу между количеством измененных и списком измененных ощущаете? вам 4 человека ответили на вопрос который вы сами поставили, и оказались не правы потому что то что вам нужно было осталось за кадром
     
  12. joost

    joost Guest

    мне то и надо список!



    Тему создал ибо когда-то читал, что в мускуле есть такая фичка, что можно посмотреть измененые строки после запроса
    то о чем я когда-то читал mysql_affected_rows() !!!
     
  13. joost

    joost Guest

    мускул ведет логи? что я имею ввиду!
    например в таблице "дата" были изменены записи - и список измененых
     
  14. joost

    joost Guest

    Так ведет логи или нет?
     
  15. armadillo

    armadillo Активный пользователь

    С нами с:
    6 апр 2007
    Сообщения:
    2.380
    Симпатии:
    0
    Адрес:
    Russia, Moscow
    ведет, но не такие. По японски сказать? НЕТ.
     
  16. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    подобный лог будет слишком огромным и бесполезным
     
  17. dj--alex

    dj--alex Активный пользователь

    С нами с:
    29 ноя 2007
    Сообщения:
    184
    Симпатии:
    0
    лучше самому фильтр встроить который будет записывать что было до изменения и сохранять куда нибудь
    можно в базу, можно на диск.
     
  18. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    объясните мне зачем это нужно? простейший пример хотя бы )))
     
  19. dj--alex

    dj--alex Активный пользователь

    С нами с:
    29 ноя 2007
    Сообщения:
    184
    Симпатии:
    0
    ну например если хостер запретил по ведомым ему причинам chmod
     
  20. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
  21. Anonymous

    Anonymous Guest

    Маразм. Очередной. Сезонная миграция леммингов на форуме.
     
  22. joost

    joost Guest

    Есть две таблици
    Таблица моделей товаров ("name_model, code_is") и таблица предложений этих товаров от интернет-магазинов ("name_data, cena")

    Надо проверить какие из товаров есть в продаже

    Таблица моделей товаров 21000 записей
    ...
    samsung x820
    nokia n73
    ....

    таблица предложений этих товаров от интернет-магазинов 104000 записей
    ...
    телефон samsung x820
    моб. тел. alcatel
    ....


    Проверка проходит так
    для каждой модели (21000) проверяется наличие предложения от интернет-магазина
    select * from `таблица предложений товаров от интернет-магазинов` where `Таблица моделей товаров.name_model` like '%`таблица предложений товаров от интернет-магазинов.name_data`%'
    , если есть предложение code_is=1, если нет code_is=0

    мне надо узнать для скольких моделей из code_is=1 стало code_is=0
     
  23. QQQ

    QQQ Активный пользователь

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    так для скольких или для каких?
    если количество - то UPDATE возвращает количество изменённых записей
     
  24. joost

    joost Guest

    тогда как сделать запрос, чтобы выбирал из одной таблици и эти результаты использовал в запросе к другой таблици?
     
  25. Anonymous

    Anonymous Guest

    Что использовать чтобы огурцы ложкой банка майонеза?