MySQL TIMESTAMP默认为NULL,而不是CURRENT_TIMESTAMP

ehxuflar  于 2023-08-02  发布在  Mysql
关注(0)|答案(3)|浏览(164)

使用MySQL,我试图从日期列和时间列创建一个时间戳列。如果日期或时间列包含NULL值,MySQL会自动将TIMESTAMP列中的相应值设置为CURRENT_TIMESTAMP
有没有办法让它默认为NULL,而不是CURRENT_TIMESTAMP
类似于:

ALTER TABLE customers ADD s_timestamp TIMESTAMP;
UPDATE customers
    SET s_timestamp = timestamp(s_date,s_time) DEFAULT NULL;

字符串

yr9zkbsy

yr9zkbsy1#

使用此查询添加列

ALTER TABLE `customers` 
ADD COLUMN `s_timestamp` TIMESTAMP NULL DEFAULT NULL;

字符串
并且,如果您只想在更新时获取当前时间戳:

ALTER TABLE `customers` 
ADD COLUMN `s_timestamp` TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP;

hzbexzde

hzbexzde2#

如果有人想修改默认为current_timestamp创建的现有列,则添加到接受的答案:

alter table `customers` modify `s_timestamp` timestamp null

字符串
该列现在不再默认为current_timestamp。

rsl1atfo

rsl1atfo3#

我想这应该行得通:

ALTER TABLE customers ADD COLUMN s_timestamp TIMESTAMP DEFAULT NULL;

字符串

相关问题