Mysql 自动更新行-列值
我是否需要构建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`
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