2012-02-20 5 views
1

Можно создать дубликат:
How to know how many mysql lines updatedКак узнать, были ли обновлены таблицы в моей базе данных?

Я хочу сделать что-то подобное с PHP: IF (ДОПОЛНЕНО строки из table_name) {Сделайте что-нибудь}

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

Есть ли какая-либо функция или оператор SQL, чтобы увидеть, были ли обновлены мои таблицы?

ответ

2

Использование

if(mysql_affected_rows ($link)>0) { 
} 
+0

Эта функция работает, если я обновляю или что-то делаю с помощью mysql_query. Но в этом случае обновление выполняется из phpmyadmin. Или нет? –

+0

В phpMyAdmin, когда вы запускаете запрос на обновление (при условии, что ваш запрос свободен от ошибок), он будет публиковать затронутые строки и время, в течение которого запрос выполнялся следующим образом: _Affected rows: 0 (Query took 0.0070 sec) _ –

1

Там нет ничего в MySQL, который сообщит вам, если запись «никогда не была обновлена», вне определения, сколько строк были затронуты последним обновлением или просмотра журналов.

Если вам нужно определить, была ли обновлена ​​запись (из любого места), вы действительно говорите: «Моя запись отличается от x?». Поэтому вы должны хранить где-то x.

Многие люди создают поле created_date и поле modified_date на столе и соответственно обновляют даты. Когда вы вставляете запись, вы устанавливаете created_date. Всякий раз, когда вы обновляете запись, вы устанавливаете значение modified_date. Затем всякая запись с измененной_датой была «обновлена».

Если ваше приложение не в состоянии вставить значения даты, вы можете использовать триггер.

0

Я не уверен, что вы после этого, но вы можете использовать:

if (mysql_affected_rows($connection) > 0) { 
} 

Кроме того, если вы хотите сделать что-то на базе стороне, определить trigger, который запускает, если запись обновляется ,

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