Mysql 自动更新行-列值

Mysql 自动更新行-列值,mysql,Mysql,我是否需要构建MySQL表,以便在插入行时自动设置created\u date,并在行更新时更新最后一次编辑 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`

我是否需要构建MySQL表,以便在插入行时自动设置
created\u date
,并在行更新时更新最后一次编辑

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`)
)
只需使用:

create_date datetime default CURRENT_TIMESTAMP
如中所述


这仅适用于较新版本的MySQL。

您可以使用
默认值定义列,对于更新列,您可以将其设置为自动更新:

created_date DATETIME DEFAULT CURRENT_TIMESTAMP

当至少有一列更改行中的值时,将设置更新列。如果发生更新,但没有列实际更改值,则不会更新

last_edit DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP