zoukankan      html  css  js  c++  java
  • mysql更新数据之update

    ###############

     有两种情况UPDATE不会对影响表中的数据。
    1. 当WHERE中的条件在表中没有记录和它匹配时。
    2. 当我们将同样的值赋给某个字段时,如将字段abc赋为'123',而abc的原值就是'123'。
    和INSERT、REPLACE一样,UPDATE也返回所更新的记录数。但这些记录数并不包括满足WHERE条件的,但却未被更新的记录。如下同的UPDATE语句就未更新任何记录。
    UPDATE users SET age = 30 WHERE id = 12;
    Query OK, 0 rows affected (0.00 sec)
    需要注意的时,如果一个字段的类型是TIMESTAMP,那么这个字段在其它字段更新时自动更新。
    在有些时候我们需要得到UPDATE所选择的行数,而不是被更新的行数。我们可以通过一些API来达到这个目的。如MySQL提供的C API提供了一个选项可以得到你想要的记录数。而MySQL的JDBC驱动得到的默认记录数也是匹配的记录数。

     UPDATE和REPLACE基本类似,但是它们之间有两点不同。
    1. UPDATE在没有匹配记录时什么都不做,而REPLACE在有重复记录时更新,在没有重复记录时插入。
    2. UPDATE可以选择性地更新记录的一部分字段。而REPLACE在发现有重复记录时就将这条记录彻底删除,再插入新的记录。也就是说,将所有的字段都更新了。

    #################

    igoodful@qq.com
  • 相关阅读:
    小埋的Dancing Line之旅:比赛题解&热身题题解
    洛谷P1311 选择客栈
    洛谷 P1039 侦探推理
    洛谷P1140 相似基因
    反⑨baka拖更大队:临时约法
    随机数据生成器
    洛谷P2285 【[HNOI2004]打鼹鼠】
    洛谷P3958 奶酪
    YII 关联查询
    Filter
  • 原文地址:https://www.cnblogs.com/igoodful/p/14441212.html
Copyright © 2011-2022 走看看