mysql时间戳为默认值null,而不是current_timestamp

nat*_*002 25 mysql sql timestamp

使用mysql,我正在尝试从日期列和时间列创建时间戳列.如果日期或时间列包含NULL值,则mysql会自动将timestamp列中的相应值设置为current_timestamp.有没有办法让它默认为NULL,而不是当前的时间戳?

就像是:

ALTER TABLE customers ADD s_timestamp TIMESTAMP;
UPDATE customers
    SET s_timestamp = timestamp(s_date,s_time) DEFAULT NULL;
Run Code Online (Sandbox Code Playgroud)

zes*_*ssx 61

使用此查询添加列

ALTER TABLE `customers` 
ADD COLUMN `s_timestamp` TIMESTAMP NULL DEFAULT NULL;
Run Code Online (Sandbox Code Playgroud)

并且,如果您只想获得更新时的当前时间戳:

ALTER TABLE `customers` 
ADD COLUMN `s_timestamp` TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP;
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用。我创建了表,同时我直接给了我的时间戳列“NULL DEFAULT NULL”并且它起作用了! (2认同)