让我说我以这种方式输入记录
"insert into table (value,time) VALUES ('4',NOW())"
这就是我更新值的方式
"update table set value = '5' WHERE id = '1'"
问题是,对于最后一个查询,时间值再次使用current_timestamp更新,所以时间错误。
我该怎样防止这种情况? (我希望时间的值在插入时保持current_timestamp,而不是更新)
PD:我尝试使用sqlBuddy从行中删除值CURRENT_TIMESTAMP,但它再次被应用,就像没有保存更改一样..
答案 0 :(得分:8)
您只需在更新查询中添加字段的当前值,如下所示:
update table set value = '5', timestamp_value = timestamp_value WHERE id = '1'
答案 1 :(得分:0)
只需将该字段设为DateTime字段,默认值为CURRENT_TIMESTAMP。因此,它将在创建新记录时设置,但仅在您需要时更新。
答案 2 :(得分:0)
您应将默认值设置为CURRENT_TIMESTAMP
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
这可以缓解你的痛苦。
答案 3 :(得分:-1)
TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP在更新CURRENT_TIMESTAMP属性时删除。
适用于PhpmyAdmin。