簡體   English   中英

自動更新行列值

[英]Update row column values automatically

反正我是否構造了MySQL表,以便在行插入時自動設置created_date ,在行更新時更新last_edit?

CREATE TABLE `tbldistrict` (
    `distid` INT(11) NOT NULL AUTO_INCREMENT,
    `district` VARCHAR(50) NOT NULL,
    `coid` INT(11) NOT NULL,
    `created_by` INT(11) NOT NULL,
    `created_date` DATETIME "ON INSERT... Current datetime,
    `edited_by` INT(11) NOT NULL,
    `last_edit` DATETIME "ON UPDATE... Current datetime ,
    `status` INT(5) NOT NULL,
    PRIMARY KEY (`distid`)
)

您可以使用DEFAULT值定義列,對於更新列,您可以將其設置為自動更新:

created_date DATETIME DEFAULT CURRENT_TIMESTAMP

last_edit DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

只要至少一列更改行中的值,就會設置更新列。 如果更新發生但沒有列實際更改值,則不會更新。

只需使用:

create_date datetime default CURRENT_TIMESTAMP

文檔中所述。

這僅適用於更新版本的MySQL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM