gpt4 book ai didi

MySQL时间戳/日期默认值

转载 作者:行者123 更新时间:2023-11-29 09:50:04 25 4
gpt4 key购买 nike

我在 MySQL 中有我的表“client”。我想设置一个默认日期,但正如我注意到的,这对于“DEFAULT CURDATE()”是不可能的。有些人说可以通过将数据类型从last_seen更改为时间戳来实现。但是是否可以将“%d-%m-%Y”或“%Y-%m-%d”设置为默认值,因为使用时间戳我也可以获得分钟小时和分钟。

CREATE TABLE IF NOT EXISTS client
(
pk_macaddr VARCHAR(17) PRIMARY KEY NOT NULL,
ipaddress VARCHAR(15) NOT NULL ,
hostname VARCHAR(50) UNIQUE NOT NULL ,
fk_pk_roomnumber INTEGER NOT NULL ,
last_seen DATE ,
is_online BOOLEAN default false
);

最佳答案

只有 TIMESTAMPDATETIME 数据类型支持自动初始化和更新(请参阅 manual ),在这种情况下,您可以声明 last_seen 例如作为

last_seen TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

要解决您只想约会的事实,您有几个选择。您可以添加generated column到您的表(并在 SELECT 中使用它而不是 last_seen):

ALTER TABLE client ADD last_seen_date AS (DATE(last_seen))

或者您可以创建 VIEW :

CREATE VIEW client_view AS
SELECT pk_macaddr, ipaddress, hostname, fk_pk_roomnumber, DATE(last_seen) AS last_seen, is_online
FROM client

关于MySQL时间戳/日期默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54964439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com