Mysql 更新记录时如何防止时间戳字段更新其值
假设我以这种方式输入一个记录Mysql 更新记录时如何防止时间戳字段更新其值,mysql,timestamp,Mysql,Timestamp,假设我以这种方式输入一个记录 "insert into table (value,time) VALUES ('4',NOW())" 这就是我更新值的方式 "update table set value = '5' WHERE id = '1'" 问题是,对于最后一个查询,时间值会再次用当前的时间戳更新,因此时间是错误的 我怎样才能防止这种情况?(我希望时间的值在插入时保持当前的时间戳,而不是更新) PD:我试图使用sqlBuddy从行中删除值CURRENT_TIMESTAMP,但它会再次应
"insert into table (value,time) VALUES ('4',NOW())"
这就是我更新值的方式
"update table set value = '5' WHERE id = '1'"
问题是,对于最后一个查询,时间值会再次用当前的时间戳更新,因此时间是错误的
我怎样才能防止这种情况?(我希望时间的值在插入时保持当前的时间戳,而不是更新)
PD:我试图使用sqlBuddy从行中删除值CURRENT_TIMESTAMP,但它会再次应用,就像如果保存位置没有更改一样。只需将该字段设置为带有默认值CURRENT_TIMESTAMP的DateTime字段。因此,它将在创建新记录时设置,但仅在需要时更新。只需将该字段设置为DateTime字段,默认值为CURRENT_TIMESTAMP。因此,它将在创建新记录时设置,但仅在需要时更新。您应该将默认值设置为
CURRENT\u TIMESTAMP
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
这将减轻您的痛苦。您应该将默认值设置为
CURRENT\u TIMESTAMP
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
这将减轻您的痛苦。您只需在更新查询中添加字段的当前值,如下所示:
update table set value = '5', timestamp_value = timestamp_value WHERE id = '1'
您只需在更新查询中添加字段的当前值,如下所示:
update table set value = '5', timestamp_value = timestamp_value WHERE id = '1'
TIMESTAMP NOT NULL在更新当前\u TIMESTAMP属性时删除默认的当前\u TIMESTAMP
它在PhpmyAdmin上工作。时间戳非空默认当前时间戳在更新当前时间戳属性时删除
它适用于PhpmyAdmin。若要更改表,请创建一个新列time2,它们都将具有当前日期。然后将以前的时间值复制到time2,然后删除time列,然后将time2重命名为time。若要更改表,请创建一个新列time2,它们都将具有当前日期。然后将以前的时间值复制到time2,然后删除时间列,然后将time2重命名为time。是否尝试将
time
和date
创建为字段类型?是否尝试将time
和date
创建为字段类型?我不知道这是否是最好的解决方案,但在这种情况下对我来说是最简单的。谢谢我不知道这是否是最好的解决方案,但在这种情况下,对我来说是最简单的。谢谢