update and的坑

开发那边抛出个有意思的问题,下面的现象如何解释呢?

mysql> select * from A;
+------+------+
| t1   | t2   |
+------+------+
|    1 |    1 |
|    2 |    2 |
|    3 |    3 |
+------+------+
3 rows in set (0.00 sec)
mysql> update A set t1=0 and t2=5;
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> select * from A;
+------+------+
| t1   | t2   |
+------+------+
|    0 |    1 |
|    0 |    2 |
|    0 |    3 |
+------+------+
3 rows in set (0.00 sec)
update  语句 and 怎么解释?

  

Update的语法是:

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

Multiple-table syntax:

UPDATE [LOW_PRIORITY] [IGNORE] table_references
    SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
    [WHERE where_condition]

  

select的语法:

Name: ‘SELECT‘
Description:
Syntax:
SELECT
    [ALL | DISTINCT | DISTINCTROW ]
      [HIGH_PRIORITY]
      [STRAIGHT_JOIN]
      [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
      [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr [, select_expr ...]
    [FROM table_references
      [PARTITION partition_list]
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [PROCEDURE procedure_name(argument_list)]
    [INTO OUTFILE ‘file_name‘
        [CHARACTER SET charset_name]
        export_options
      | INTO DUMPFILE ‘file_name‘
      | INTO var_name [, var_name]]
    [FOR UPDATE | LOCK IN SHARE MODE]]

  

update语法是set后面以逗号区分

mysql> select * from test where t1=0 and t2=5;
Empty set (0.00 sec)

使用and被解析成 t1=0 and t2=5 把后面作为一个整体,值变成0了

变成这样了,update A set t1=(0 and t2=5),t2==5 and 0

换种写法更加明白了

先记录下,后面整体再整理!!!

时间: 2024-10-07 07:42:40

update and的坑的相关文章

php当数据库update遇到并发,一个小坑

有一个答题的小项目,表的字段如下: id 用户id times 答题次数 questions 回答的问题id,这是一个php serialize()的字符串 当用户答完题像后端提交结果时,构建的post包如下: { 'id':1, 'questionid':38 } 后台逻辑如下: $user = User::findFirst("id = ?1",array('id'=>$_POST['id']));//取得用户模型 $questions = unserialize($user

Python之md5.update才过的哪些坑

看代码: >>> import hashlib >>> md5=hashlib.md5() >>> md5.update('123'.encode('utf-8')) >>> print(md5.hexdigest()) 202cb962ac59075b964b07152d234b70 >>> md5.update('123'.encode('utf-8')) >>> print(md5.hexdi

AndroidStudio 中的坑Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRID

将 build.gradle 中 的 classpath改为2.0.+ dependencies { classpath 'com.android.tools.build:gradle:2.0.+'然后出现错误Warning:Gradle version 2.10 is required. Current version is 2.8. If using the gradle wrapper, try editing the distributionUrl in /home/zhangsf/An

安卓易学,爬坑不易——腾讯老司机的RecyclerView局部刷新爬坑之路

针对手游的性能优化,腾讯WeTest平台的Cube工具提供了基本所有相关指标的检测,为手游进行最高效和准确的测试服务,不断改善玩家的体验.目前功能还在免费开放中. 点击地址:http://wetest.qq.com/cube立即体验! 作者:Hoolly,腾讯移动客户端开发工程师. 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处 WeTest导读 安卓开发者都知道,RecyclerView比ListView要灵活的多,但不可否认的里面的坑也同样埋了不少人.下面让我们看看腾讯开发工程

Android开发在路上:少去踩坑,多走捷径【转】

作者:gzjay,腾讯MIG无线产品部 高级工程师 最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的,所以有了这个小分享. 1.目前, Android APP开发完成后,通常需要在哪些机型上进行测试? 2.目前, 开发Android APP时,需要考虑的分辨率有哪些? 这两个问题可以合起来回答的. http://developer.android.com/about/dashboards/index.html 源自Google Play的数据,每月都会进行upd

在CENTOS7下安装kubernetes填坑教程(原创)

kubernetes(以下简称"k8s")目前是公认的最先进的容器集群管理工具,在1.0版本发布后,k8s的发展速度更加迅猛,并且得到了容器生态圈厂商的全力支持,这包括coreos.rancher等,诸多提供公有云服务的厂商在提供容器服务时也都基于k8s做二次开发来提供基础设施层的支撑,比如华为.可以说k8s也是Docker进军容器集群管理和服务编排领域最为强劲的竞争对手. 现在的Red Hat centos7的用户,已经可以使用熟悉的yum来直接安装k8s,但是真要安装起来,还是有相

KDT的坑...

诶最近开坑好频繁啊...感觉没救了TAT 写了几道模板题..... 建树 比如现在有一些二维平面上的点,我们按照维度首先进行一次划分: 比如第一次划分x维,那么我们找到所有点中x坐标为中位数的点,将其作为根,x坐标小于中位数的点划分到左子树,否则划分到右子树.然后递归划分剩余的两侧的点.下一次划分依据为y维,再下一次划分依据为x维.以此类推. 每个节点存储的信息包含为以这个点为根的子树所有的点的矩形的左上角和右下角的坐标.我们在划分结束时更新即可. 那么我们如何查询到一个给定坐标(x,y)曼哈顿

被www.dispose给坑了

在做AssetBundle资源更新时, 用的是Unity自带的WWW进行下载, 考虑到网络卡的情况下, 做了超时操作. 之前是直接在Update中用Time.time来判断, 假设超过一定时间, www仍未完成,则判断为超时. 其实这样做 虽然也可以说完成了超时判断, 但是TIME_OUT时间设置不好拿捏, 有时候网络真的比较慢的情况下, 下载操作确实比较耗时. 后面无意中发现了www.progress这个属性, 才改成根据progress来判断. 1 public class Download

Android桌面快捷方式那些事与那些坑

原文来自http://blog.zanlabs.com/2015/03/14/android-shortcut-summary/ 将近二个多月没写博客了. 之前一段时间一直在搞红包助手,就没抽时间写博客,但写这个真的是很好玩.没想到居然在Android上实现模拟点击,从而实现自动抢红包,有兴趣的同学可以参考https://github.com/waylife/RedEnvelopeAssistant ,代码已经开源. 红包助手还有一些问题,但是现在基本的抢红包基本没问题了.目前正在对它进行优化以