mysql時間戳詳解及運用


1.在已有表cms_nrgl_st 增加時間戳,這個時間是當前時間精確到秒的

alter table cms_nrgl_st add time_stamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ; 

 

2.

一個表中至多只能有一個字段設置CURRENT_TIMESTAMP(當前時間)

1、TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

在創建新記錄和修改現有記錄的時候都對這個數據列刷新,已經存在的數據也會被修改,很少用
 
2、TIMESTAMP DEFAULT CURRENT_TIMESTAMP 

在創建新記錄的時候把這個字段設置為當前時間,但以后修改時,不再刷新它

3、TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

在創建新記錄的時候把這個字段設置為0,以后修改時刷新它

3.運用之信息發布按照時間戳排序,最新發布的默認排到第一位

3.1首先建立時間戳字段,產生數據時,時間戳字段自動生成數據

alter table cms_nrgl_st add time_stamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP ; 

3.2置頂功能

實現思路 置頂按鈕觸發點擊事件,進入js中的ajax請求,進入manger生成當前時間,更新時間戳字段

1)<button name="btn_sp_lrow" type="lrowbtn" perm="op_celapprove"  caption="置頂" css="btn btn-minier btn-info" onclick="zwzd({'btnObj':this})"/>

2)

//置頂
function zwzd(param){
param = !param ? {} : param;

if (!param.pk_id && initRowView(param) == false) {
return;
}

param.pk_id = param.pk_id || $("#pk_id").val();
console.log("-----------置頂函數")
console.log("主鍵4---"+param.pk_id)
confirm("確定要置頂嗎?", function(){
doAjaxMgr({ method:"op_xxfb_zd", pkid: param.pk_id},

function(obj) {
if (obj.success == "true") {
alert(obj.message, function(){
window.location.href=window.location.href;
closeDialogPage();
});
} else {
alert(obj.message, function(){
});
}
}

);
});
}

3)

public class Shjzxxfbzd extends BaseManager {

//更新時間戳
private static String UPDATE_CMS_NGRL_ST_TH_SQL = "UPDATE cms_nrgl_st SET time_stamp = ? WHERE PK_CMS_NRGL_ST = ?";
protected static Logger log = Logger.getRootLogger();



public void doShjzSlTh(ServiceData sdata){
System.out.println("------------進入置頂manager");
String responeMessage;
String msg = "";


try {
String pk_id = sdata.getParameter("pkid");
log.info("主鍵---------------"+pk_id);
Date t = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time_stamp = df.format(t);
log.info("時間---------------"+time_stamp);
AspDaoUtil.getJdbcTemplate().executeUpdate(UPDATE_CMS_NGRL_ST_TH_SQL, new Object[]{time_stamp,pk_id});
msg = "置頂成功!";
responeMessage = "{success:'true', message:' " + msg + " ', data:{msg:'" + msg + "'}}";


} catch (Exception e) {
e.printStackTrace();
msg = "置頂失敗,請聯系管理員!";
responeMessage = "{success:'false', message:' " + msg + " ', data:{msg:'" + msg + "'}}";

}

sdata.setResponseBody(responeMessage);

}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM