1

アカウント/クライアントの金額トランザクションをカバーする MySQL データベースがあります。このデータベースには 2 つのテーブルが含まれており、1 つはclientInfoもう 1 つは ですtransaction

  • clientInfoアカウント/クライアントに関するすべての情報が含まれています。
  • transactionテーブルには、アカウントで行われたトランザクションに関連するすべての情報が含まれています。

問題:

毎月、入手可能な情報に応じて各口座に利息をclientInfo追加し、これもtransactionテーブルに追加する必要があります。次のPHPコードを使用して手動で行うことができます。

$query = "SELECT id,balance,percentage from clientInfo";
$result = mysql_query($query);
while($row = mysql_fetch_Array($result)){
$ID = $row['ID'];
$balance = $row['balance'];
$percentage = $row['percent'];

$debit = $balance * $percentage / 100;
$balance += debit;
$insertQuery = "INSERT INTO transaction VALUES ( $ID,$debit,$balance);
4

3 に答える 3

2

cron ジョブを設定すると、指定した時間にクエリが実行されます。

于 2013-06-07T21:11:08.343 に答える
1

そのためにMySqlイベントを利用することができます

CREATE EVENT event_add_interest
ON SCHEDULE EVERY 1 MONTH STARTS LAST_DAY(CURDATE())
DO
  INSERT INTO transaction
  SELECT id, balance * percent / 100, balance + (balance * percent / 100)
    FROM clientInfo;

SHOW PROCESSLISTイベント スケジューラが有効になっているかどうかを確認するために使用します。ON の場合Daemon、ユーザー " " によるプロセス " " が表示されますevent_schedulerSET GLOBAL event_scheduler = ON;現在有効になっていない場合に、スケジューラを有効にするために使用します。イベント スケジューラの設定の詳細はこちら

于 2013-06-07T22:10:52.397 に答える