免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2827 | 回复: 5
打印 上一主题 下一主题

MySQL能强制做update操作么 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-29 16:37 |只看该作者 |倒序浏览
就是旧值和新值相等的情况下,我想让MYSQL仍然做完这次Update操作,有什么关键字么

论坛徽章:
0
2 [报告]
发表于 2010-01-29 17:24 |只看该作者
好像没找到什么办法~

论坛徽章:
0
3 [报告]
发表于 2010-01-29 18:15 |只看该作者
这个Update的意义何在?

不过对于一个大表,单一对比一下,也需要很长的时间.

可以说这是算法的一个改进,你现在又要回到过去了.

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
4 [报告]
发表于 2010-02-01 12:48 |只看该作者
这个Update的意义何在?

不过对于一个大表,单一对比一下,也需要很长的时间.

可以说这是算法的一个改进 ...
Coolriver 发表于 2010-01-29 18:15



     我也搞不懂,都一样了,为什么还要强制update一下呢?

论坛徽章:
0
5 [报告]
发表于 2010-06-26 16:55 |只看该作者
Google 过来的...希望不要被喷挖坟.

我也遇到了同样的问题...

因为在创建表的时候用到了
  1. `lastactivetime` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL COMMENT '最后活动时间'
复制代码
ON UPDATE CURRENT_TIMESTAMP, 需要数据有真正的变化的时刻才会激活

现在看上去, 如果新值==旧值, 貌似MySQL根本不会激活on update事件. 所以这个新的 lastactivetime 也不会被写入.

就是这样的问题, 莫非需要新建一个字段以保证它每次都会更新新值?

论坛徽章:
0
6 [报告]
发表于 2010-06-26 21:35 |只看该作者
我明白你的意思了。
比如表abc
a(int)           b(timestamp)
1                   2010-06-25 17:24:00
两个字段
只有update语句把a中的某列值更改的情况下,b的值才能更改
即便你做了update abc set a=1 where a=1 ,  b中的值也不会更改。
这里的 ON UPDATE CURRENT_TIMESTAMP
因该是值有更改的情况下才触发的吧

timestamp一般用处都是记录有更改情况下的更改时间点。
你的这个要求应该有别的办法实现吧。
帮你顶下了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP