2015-03-11 5 views
0

Я создаю фид активности, используя PHP и MYSQL. Я хотел бы сохранить историю активности в таблице (activity_history), в которой перечислены те, кто изменил запись последним, когда и что они изменили.Сохраните информацию о последнем запросе mysql в таблице истории

Я могу вставить первые два штрафа, но задавался вопросом, есть ли запрос, который может вернуть то, что было изменено в записи в последнем выполненном запросе.

Например, я хотел бы history_details не быть (обновлено дата, обновлено названием деятельности или изменить статус):

$update_activity_history = "INSERT INTO activity_history (activity_id, history_created_by, history_details) 
      VALUES ('$activity_id','$activity_created_by','$history_details') 
        "or die("Error: ".mysqli_error($connectio 
    )); 
+1

Нет простого способа получить эту информацию от MySQL, нет. Но ваше приложение должно уже «знать», что оно только что обновило, когда оно выдает эту команду «INSERT», так что в чем проблема? – eggyal

+0

@eggyal Я пытаюсь иметь фид истории в приложении, чтобы другие пользователи могли узнать, кто последний раз обновлялся, когда и что обновлялось. – EDarrien

+0

Да, я это понимаю. – eggyal

ответ

0

Существует нет встроенной функциональности совсем так, нет. Вам нужно либо вручную скопировать текущие данные в таблицу журналов, прежде чем вносить изменения, либо использовать MySQL triggers.

+0

Триггеры не могут помочь, поскольку они не могут быть снабжены дополнительной информацией о состоянии, которая быть вставлен в журнал (а именно, кто выполнил операцию). – eggyal

+0

Это можно решить с помощью поля «last_edited_by», но да, реализовав логику вокруг, это немного грязно. Я бы лично реализовал такие функции журнала, как это на стороне PHP. –

+0

Спасибо, я увижу лучший сценарий и обновление. – EDarrien

Смежные вопросы