使用当前时间添加新列作为默认值

Red*_*4rl 4 mysql sql ddl timestamp

我正在寻找将列添加到MySQL表的语法,并将当前时间作为默认值.

Rom*_*syk 5

重要编辑:现在可以通过DATETIMEMySQL 5.6.5以来的字段来实现这一点,看看下面的其他帖子 ......

现在可以用DATETIMEMySQL 5.6.5 实现这一点了
但是你可以用TIMESTAMP:

 create table test (str varchar(32), ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP)
Run Code Online (Sandbox Code Playgroud)


Zaf*_*lik 5

即使有这么多人提供了解决方案,但这仅仅是为了添加更多信息-

如果您只想在插入行时插入当前时间戳,

ALTER TABLE mytable ADD mytimestampcol TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
Run Code Online (Sandbox Code Playgroud)

如果您还希望此列更新(如果有任何更新),请使用此-

ALTER TABLE mytable ADD mytimestampcol TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
Run Code Online (Sandbox Code Playgroud)