Mysql 无法将时间戳列添加到sql表的末尾

Mysql 无法将时间戳列添加到sql表的末尾,mysql,Mysql,我试图在表的末尾添加一列assestbl ALTER TABLE `assestbl` ADD `timestamp` VARCHAR NOT NULL DEFAULT CURRENT_TIMESTAMP 但这是一个错误 1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解正确的语法 在第1行使用“非空默认当前时间戳” 您有两个错误: 1) 数据类型中的语法错误,varchar需要定义长度:varchar(LEN) 一旦修复该问题,您将获得类似于“timestamp

我试图在表的末尾添加一列
assestbl

ALTER TABLE  `assestbl` ADD  `timestamp` VARCHAR NOT NULL DEFAULT CURRENT_TIMESTAMP
但这是一个错误

1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解正确的语法 在第1行使用“非空默认当前时间戳”

您有两个错误:

1) 数据类型中的语法错误,
varchar
需要定义长度:
varchar(LEN)

一旦修复该问题,您将获得类似于“timestamp”的无效默认值的


2)
默认当前时间戳
只能应用于时态数据类型(日期、时间、日期时间、时间戳和年份)。

;t数据类型是datetime而不是VARCHAR Hey感谢您的回复,第一部分工作了,但在第二部分Alter表中得到了stck
assestbl
ADD
timestamp
VARCHAR(20)非空默认当前时间戳MySQL说:#1067-无效的“TIMESTAMP”默认值如果我不将默认值添加为当前时间戳,我如何在更新表时自动添加更新时间。。只需添加一个varchar列,并使用类似于insert-into-MyTable(MyColumn)的值(getdate());要使用默认的当前时间戳,您需要以下数据类型之一的列:日期、时间、日期时间、时间戳和年份。正如在ALTER表格中。。。添加列
timestamp
timestamp默认当前\u TIMESTAMPVARCHAR是字符串类型。从长远来看,您会发现使用适当的数据类型来存储时间戳是有益的。它对于按时间戳排序或根据日期和/或时间选择记录等事情非常方便。