社区
疑难问题
帖子详情
如何设置 timeStamp 字段不自动更新
xieyj
2010-07-09 01:19:51
现在有一个应用在默认情况下我还是希望 timestamp 列是自动更新的,但有没办法可以设置我处理某些数据时这个时间戳不会被更新掉,或是我可以手动更新这个字段值,让他保留原值。
...全文
521
12
打赏
收藏
如何设置 timeStamp 字段不自动更新
现在有一个应用在默认情况下我还是希望 timestamp 列是自动更新的,但有没办法可以设置我处理某些数据时这个时间戳不会被更新掉,或是我可以手动更新这个字段值,让他保留原值。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangtaoceo
2012-03-13
打赏
举报
回复
如果想设置timestamp不自动更新值可以在创建表的时候加上 default CURRENT_TIMESTAMP,
例如:
test timestamp default CURRENT_TIMESTAMP
bancxc
2010-07-09
打赏
举报
回复
那就用datetime getdate()默认值 需要特殊处理就手动复制吧
timestamp不行的
xieyj
2010-07-09
打赏
举报
回复
顶一下
xieyj
2010-07-09
打赏
举报
回复
某种特殊情况不需要同步
jinjazz
2010-07-09
打赏
举报
回复
[Quote=引用 5 楼 xieyj 的回复:]
谢谢各位的回答,其实我是想做一个数据相互同步的过程,两个数据库之间的数据都有可能更新,他们是相互影响的。
真的就没办法控制 timestamp 值?
[/Quote]
不互相影响哪里来的互相同步呢
Mr_Nice
2010-07-09
打赏
举报
回复
[Quote=引用 1 楼 jinjazz 的回复:]
既然用了这个字段就不能干预他的工作方式,这个是数据库全局的.除非你不用
[/Quote]
up
claro
2010-07-09
打赏
举报
回复
尝试加入站点编号呢。。
xieyj
2010-07-09
打赏
举报
回复
谢谢各位的回答,其实我是想做一个数据相互同步的过程,两个数据库之间的数据都有可能更新,他们是相互影响的。
真的就没办法控制 timestamp 值?
永生天地
2010-07-09
打赏
举报
回复
什么是时间戳:
timestamp
SQL Server timestamp 数据类型与时间和日期无关。SQL Server timestamp 是二进制数字,它表明数据库中数据修改发生的相对顺序。实现 timestamp 数据类型最初是为了支持 SQL Server 恢复算法。每次修改页时,都会使用当前的 @@DBTS 值对其做一次标记,然后 @@DBTS 加1。这样做足以帮助恢复过程确定页修改的相对次序,但是 timestamp 值与时间没有任何关系。
在 SQL Server 7.0 版和 SQL Server 2000 中,@@DBTS 只在 timestamp 列中使用时其值才会递增。如果一个表包含 timestamp 列,则每次由 INSERT、UPDATE 或DELETE 语句修改一行时,此行的 timestamp 值就被置为当前的 @@DBTS 值,然后 @@DBTS 加1。
因为每一次修改时 timestamp 值都会改变,所以千万不要在键(特别是主键)中使用 timestamp 列。
若要记录表中发生的数据修改次数,可用 datetime 或 smalldatetime 数据类型来记录这些事件和触发器,这样,当发生修改时,就可以自动更新其值。
永生天地
2010-07-09
打赏
举报
回复
应该是不行
SQL77
2010-07-09
打赏
举报
回复
再加一个时间列来代替吧
jinjazz
2010-07-09
打赏
举报
回复
既然用了这个字段就不能干预他的工作方式,这个是数据库全局的.除非你不用
mysql多个
TimeStamp
设置
的方法解读
timestamp
设置
默认值是Default CURRENT_
TIMESTAMP
timestamp
设置
随着表变化而
自动更新
是ON UPDATE CURRENT_
TIMESTAMP
但是由于 一个表中至多只能有一个
字段
设置
CURRENT_
TIMESTAMP
两行
设置
DEFAULT CURRENT_
TIMESTAMP
是不行的。 还有一点要注意 代码如下: CREATE TABLE `device` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `toid` INT(10) UNSIGNED NOT NULL DEFAULT ‘0’ COMME
SQL | 创建时间,更新时间,使用默认值自动
设置
|data-412945.pdf
在数据库表设计中,经常会使用到创建时间
字段
和更新时间
字段
,我们可以为表中的
字段
设置
相应的默认值,实现添加数据时创建时间
字段
的值自动为当前创建该数据的时间,更新数据时更新时间
字段
的值自动为当前更新该数据的时间。 这样可以减少后端代码的操作,将压力转换到数据库上。 SQL语句如下: ALTER TABLE 表名 ADD ( `create_time`
TIMESTAMP
NOT NULL DEFAULT CURRENT_
TIMESTAMP
COMMENT '创建时间', `update_time`
TIMESTAMP
not null DEFAULT CUR
mysql
timestamp
自动更新
_Mysql中
设置
更新数据时,
timestamp
字段
的值
自动更新
为当前时间...
很多时候,在设计一张应用表时,都会带上更新时间的
字段
,以便表示当前行的数据是在什么时间被更新的。一般来说,在插入时,会赋当前系统时间为默认值,而在更新的时候,会顺带更新这个更新时间的
字段
。但这依赖于程序员的自觉。我之间就遇到过好多应用系统的表中定义了更新时间
字段
,但实际在做更新操作时,并没有去更新这个
字段
的情况。那有没有一种更好的方法,能够支持在对表进行UPDATE更新操作时,自动将更新时间的
字段
...
Mysql
timestamp
字段
自动更新
踩坑记录
可以解决问题(不希望 start_time、 finish_time 自动改变)
字段
的时候,我发现 start_time
字段
自动变成了执行 sql 时的时间。上面的创建 Mysql table 的语句,在更新表的。经过探索发现,给
字段
加个默认值。
mysql中
timestamp
字段
,在更新这个
字段
其他数据时候,不更新
timestamp
的时间
执行这条SQL ALTER TABLE question CHANGE TIME TIME
TIMESTAMP
NOT NULL DEFAULT CURRENT_
TIMESTAMP
; TIME是我表中的
字段
,
timestamp
类型。 一般
timestamp
字段
默认只要修改更新数据就
自动更新
到最新修改的时间,但有不需要这个功能又不想换
字段
类型,就酱紫修改。哈哈
疑难问题
22,209
社区成员
121,730
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章