mysql - 错误 #1064 添加带小数秒的 MySql 日期时间默认值

标签 mysql datetime timestamp default-value

我有 table :

CREATE TABLE t1 (
    id INT(3)
  , datetime DATETIME(6)
);

我想向带有小数秒的日期时间列添加默认值:

ALTER TABLE 't1'
CHANGE 'datetime' 'datetime'
DATETIME DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)

我收到错误消息 #1064:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''t1' CHANGE 'dt' 'dt' DATETIME DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TI' at line 1

最佳答案

你需要使用。
没有表名和列名周围的引用。
我在日期时间周围使用了反引号,因为日期时间是 MySQL 中的关键字。
而且您忘记了 DATETIME 需要像 DATETIME(6) 那样定义小数秒

ALTER TABLE t1
CHANGE `datetime` `datetime`
DATETIME(6) DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)

关于mysql - 错误 #1064 添加带小数秒的 MySql 日期时间默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47309015/

相关文章:

php - 如果用户已登录,登录页面无法重定向到另一个页面

datetime - phpspreadsheet 德语日期格式

c# - TimeZoneInfo 在 2014 年 11 月 2 日美国东部时间凌晨 2 点提前一个小时递增时区

mysql - 如何从每组行的最小和最大时间戳中选择mysql数据

mysql - 该产品数据库的最佳布局?

mysql - 在触发器中访问远程 mysql 数据库

mysql - 在 hibernate 中执行复杂查询

mysql - 日期时间比较mysql

javascript - 在 Javascript 中创建用于采样数据的时间戳对象数组?

sql - 在 postgres 中选择时间戳记录