0

id, description, start_date, end_date毎月12のエントリがあるデータベーステーブルを持っています。スーパーユーザーのログインチェック日で、データベースでのみ年start_date, end_dateを更新する場合、今年末が可能である場合、すべてのフィールドで2012年から2013年をインクリメントしたいだけです。01-01-20xxテーブル。

4

5 に答える 5

2

MySqlイベントスケジューラここに:

MySql イベント

于 2012-10-30T05:56:28.100 に答える
1

次のことを試すことができます。

  UPDATE Table_name SET start_date = DATE_ADD(start_date,INTERVAL 1 YEAR), end_date = DATE_ADD(end_date,INTERVAL 1 YEAR) WHERE id = '';
于 2012-10-30T06:02:42.557 に答える
0
$query="UPDATE awards_list SET start_date = start_date + interval '1 year', 
            end_date = end_date + interval '1 year'";

これは完全に機能し、クリックボタンで取得したという点でpostgressqlも使用しています。つまり、ボタンをクリックすると、テーブルの年フィールド全体が1年ずつ増加するため、1年分のクリックで十分です。

于 2012-10-30T12:28:47.663 に答える
0
Try This       

 <?php
        $currentyear=date("Y");
        //check the year database value 
        $yearindatabase=2012;//from database

        if($currentyear>$yearindatabase)
        {


     for($i=1;$i<=12;$i++)
        {

        $num = cal_days_in_month(CAL_GREGORIAN, $i, $currentyear);
        $start_date="2012-".$i."-01";
        $end_date="2012-".$i."-".$num."";

        //Update Query

        $queryUpdate="update table set start_date='".$start_date."',end_date='".$end_date."'";

        }

        ?>
于 2012-10-30T06:01:13.087 に答える
0

働く

 UPDATE Table_name SET start_date = DATE_ADD(start_date,INTERVAL 1 YEAR), end_date = DATE_ADD(end_date,INTERVAL 1 YEAR) WHERE id = '';
于 2012-12-06T13:44:19.140 に答える