一、使用datagrip,新建表,datetime字段怎么设置on update

直接在Default中写CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,虽然会有错误提示,但是生成的SQL语句是正确的,可以得到正确的表结构。TIMESTAMP DATETIME列可以自动初始化并更新为当前日期和时间(即当前时间戳)。

TIMESTAMP或 DATETIME列定义可以为默认值和自动更新值(一个而不是另一个)或两者都不指定当前时间戳,不同的列可以具有不同的自动属性组合,可以使用 DEFAULT CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP子句指定自动属性。

使用DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP时,该列具有其默认值的当前时间戳,并自动更新为当前时间戳。

CREATE TABLE test(

ids int(11),

roomName varchar(512),

startTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

如果有DEFAULT子句但没有ON UPDATE CURRENT_TIMESTAMP子句,则该列具有给定的默认值,并且不会自动更新为当前时间戳;默认值取决于DEFAULT子句是指定 CURRENT_TIMESTAMP还是常量,使用CURRENT_TIMESTAMP,默认值为当前时间戳。

CREATE TABLE test(

ids int(11),

roomName varchar(512),

startTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP

使用一个ON UPDATE CURRENT_TIMESTAMP子句和一个常量DEFAULT子句,该列将自动更新为当前时间戳,并具有给定的常量默认值。

CREATE TABLE test(

ids int(11),

roomName varchar(512),

startTime DATETIME DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP

如果有ON UPDATE CURRENT_TIMESTAMP子句但没有DEFAULT子句,则该列会自动更新为当前时间戳,但没有默认值的当前时间戳;在这种情况下,默认值取决于类型,TIMESTAMP除非使用NULL属性定义,否则默认值为0 ,在这种情况下,默认值为NULL;DATETIME默认值NULL,使用NOT NULL属性定义时,默认值为0。

CREATE TABLE test(

ids int(11),

roomName varchar(512),

startTime TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,     — default 0

endTime TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP — default NULL

延伸阅读:

二、网络附加存储(NAS)

NAS指Network Area Storage,即网络附加存储。它一般是将本地的存储空间共享给其他主机使用,一般通过C/S架构实现通信。它实现的是文件级别的共享,计算机通常将共享的设别识别为一个文件系统,其文件服务器会管理锁以实现并发访问。网络文件系统,以文件模块的形式进行共享,工作在应用层上,常见的NAS有NFS和CIFS(FTP)。