首页 > 解决方案 > 如何为表 MySQL 5.7 中的 TIME 列设置默认时间?

问题描述

我想将 MySQL DB 表中 TIME 列中的默认值设置为“08:00:00”,而不考虑时区。我不太清楚语法。

create table venues (venue_id SERIAL PRIMARY KEY, name VARCHAR(100), address VARCHAR(250), open_time TIME DEFAULT '08:00:00'::TIME, close_time TIME DEFAULT '20:00:00'::TIME, activities VARCHAR(250);

我尝试为两个 TIME 列设置默认值的方式存在问题。我也尝试过使用'08:00:00'::time without time zone

标签: mysql

解决方案


'08:00:00'::TIME是你如何在 Postgres 中进行类型转换,而不是 MySQL。MySQL 使用 SQL 标准cast。同样time without time zone是 Postgres 类型。

您根本不需要类型转换,MySQL(和 Postgres)会将其转换为列类型。

create table venues (
    venue_id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    address VARCHAR(250),
    open_time TIME DEFAULT '08:00:00',
    close_time TIME DEFAULT '20:00:00',
    activities VARCHAR(250)
);

小提琴手


推荐阅读