mariadb sql 默认值 unix_timestamp
mariadb sql default unix_timestamp
我无法将 table 中的列从时间戳类型更改为整数 (unix)。对于 mysql 下面的两个查询,不要让我执行它们并出现错误 1064:“... SQL 语法错误...” 和我的 sql 编辑器(MYSQL WORKBENCH) 在默认后立即用红色突出显示 UNIX_TIMESTAMP 函数并表示:"UNIX_TIMESTAMP" is not valid at this position, expecting: DATE, TIMESTAMP, TIME, INT number, LONG number, UNLONGLONG number, ...
我做错了什么?
ALTER TABLE `lamourka`.`profile` CHANGE `updated_at` `updated_at`
int(11) NOT NULL DEFAULT UNIX_TIMESTAMP() ON UPDATE UNIX_TIMESTAMP()
ALTER TABLE `lamourka`.`profile` MODIFY COLUMN `updated_at`
int(11) NOT NULL DEFAULT UNIX_TIMESTAMP() ON UPDATE UNIX_TIMESTAMP()
我正在使用 MariaDB。 SELECT 版本 (): 10.3.9-MariaDB-1:10.3.9+maria~bionic
MySQL 不允许使用函数设置默认值。
我建议使用 TIMESTAMP
数据类型。您可以使用 UNIX_TIMESTAMP()
.
在秒内检索值
CREATE TABLE mytable (id int, updated_at date);
ALTER TABLE mytable MODIFY column updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
INSERT INTO mytable(id) values(1);
SELECT id, UNIX_TIMESTAMP(updated_at) updated_at FROM mytable;
| id | updated_at |
| --- | ---------- |
| 1 | 1570695109 |
另一种选择是将列数据类型保持为整数,然后在每次插入时手动调用 UNIX_TIMESTAMP()
。
我无法将 table 中的列从时间戳类型更改为整数 (unix)。对于 mysql 下面的两个查询,不要让我执行它们并出现错误 1064:“... SQL 语法错误...” 和我的 sql 编辑器(MYSQL WORKBENCH) 在默认后立即用红色突出显示 UNIX_TIMESTAMP 函数并表示:"UNIX_TIMESTAMP" is not valid at this position, expecting: DATE, TIMESTAMP, TIME, INT number, LONG number, UNLONGLONG number, ...
我做错了什么?
ALTER TABLE `lamourka`.`profile` CHANGE `updated_at` `updated_at`
int(11) NOT NULL DEFAULT UNIX_TIMESTAMP() ON UPDATE UNIX_TIMESTAMP()
ALTER TABLE `lamourka`.`profile` MODIFY COLUMN `updated_at`
int(11) NOT NULL DEFAULT UNIX_TIMESTAMP() ON UPDATE UNIX_TIMESTAMP()
我正在使用 MariaDB。 SELECT 版本 (): 10.3.9-MariaDB-1:10.3.9+maria~bionic
MySQL 不允许使用函数设置默认值。
我建议使用 TIMESTAMP
数据类型。您可以使用 UNIX_TIMESTAMP()
.
CREATE TABLE mytable (id int, updated_at date);
ALTER TABLE mytable MODIFY column updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
INSERT INTO mytable(id) values(1);
SELECT id, UNIX_TIMESTAMP(updated_at) updated_at FROM mytable;
| id | updated_at |
| --- | ---------- |
| 1 | 1570695109 |
另一种选择是将列数据类型保持为整数,然后在每次插入时手动调用 UNIX_TIMESTAMP()
。