我在MySQL中有表“ client”。我想设置一个默认日期,但是正如我注意到的那样,使用“ DEFAULT CURDATE()”是不可能的。有人说可以通过将数据类型从last_seen更改为timestamp来实现。但是否可以将“%d-%m-%Y”或“%Y-%m-%d”设置为默认值,因为使用时间戳,我也可以得到几分钟和几分钟。
listview.footer = null
答案 0 :(得分:1)
仅TIMESTAMP
和DATETIME
数据类型支持自动初始化和更新(请参阅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