2012-02-20 19 views
1

可能性の重複:
How to know how many mysql lines updatedデータベースのテーブルが更新されたかどうかを確認する方法?

私はPHPでこのような何かをしたい:(TABLE_NAME FROM UPDATE行)IF {何かする}

私の場合は、Iでありますデータベース内の一部のテーブルを更新している限り、いくつかの操作を行う必要があります。

テーブルが更新されたかどうかを確認する関数またはSQL文はありますか?

答えて

2

使用

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

この関数は、mysql_queryを更新するか何かを行う場合に機能します。しかし、この場合、更新はphpmyadminから行われます。か否か? –

+0

phpMyAdminでは、更新クエリを実行すると(クエリにエラーがないと仮定した場合)、影響を受けた行とクエリが実行された時間が表示されます。_Affected rows:0(クエリが0.0070秒かかった)_ –

1

レコードが最後の更新の影響を受けた行数を決定する、またはログの表示の外で、「これまでに更新されている」かどうかを教えてくれますMySQLでは何もありません。

(どこからでも)レコードが更新されたかどうかを検出する必要がある場合は、実際には「xと異なるレコードですか?したがって、xをどこかに保存する必要があります。

多くの人がテーブルにcreated_dateフィールドとmodified_dateフィールドを作成し、それに応じて日付を更新します。レコードを挿入すると、created_dateが設定されます。レコードを更新するたびに、modified_dateを設定します。次に、modified_dateを持つすべてのレコードが「更新されました」。

アプリケーションで日付値を挿入できない場合は、トリガーを使用できます。

0

は、私はあなたが後にあるかわからないですが、あなたは使用することができます

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

また、データベース側で物事を行いたい場合は、レコードが更新された場合に起動され、triggerを定義します。

関連する問題