Dol*_*hin 3 mysql timestamp default-value
我在 MySQL 5.7 表中创建了一个created_time
字段BIGINT
,现在我想在插入记录时自动生成一个 Unix 毫秒时间戳。是否有可能做到这一点?我尝试了下面的代码,但失败了:
ALTER TABLE db.video_info MODIFY COLUMN created_time bigint(20)
DEFAULT (ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000)) NULL;
Run Code Online (Sandbox Code Playgroud)
MySQL 8.0 支持像你展示的那样的表达式 default。
MySQL 5.7 默认不支持表达式。只有 NULL 或常量值,或者CURRENT_TIMESTAMP
它是 DATETIME 或 TIMESTAMP 列。
对于 MySQL 5.7,您有两种选择:
将该列声明为created_time datetime(3) default current_timestamp(3)
.
像你一样使用 BIGINT,但写一个触发器来设置值。
归档时间: |
|
查看次数: |
393 次 |
最近记录: |