解析mysql奇葩语句

news/2024/10/11 0:28:33

首先看看完整的表如下图
image




那么看看一个比较奇葩的语句
image




select * from users where name = 'aa'='bb'这个语句为啥能执行成功以及为什么打印出了除了两个aa之外的所有行数据呢。我们来解释一下原理。
当我们使用 where 语句的时候, where是会一行一行的匹配的 ,同时where的执行顺序是从左到右的
拿第一行举例 在表中 第一行的name是aa 也就是说 where后面的语句变成了 'aa'='aa'='bb' 因为aa是等于aa所以'aa'='aa'转化为1,语句就变成了 1='bb' 由于int和string进行比较都会自动转化成为float,bb隐式转换会变成0,也就是说1='bb'变成了1=0,结果当然是 false 也就是 0 所以第一行就不会被选中。
但是第二行 'bb'='aa'='bb' 转化为 0='bb' 再转化为 0=0 结果是true也就是 1,所以第二行会被选中。
以此类推。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/27583.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Go-编程实用手册(全)

Go 编程实用手册(全)原文:zh.annas-archive.org/md5/62FC08F1461495F0676A88A03EA0ECBA 译者:飞龙 协议:CC BY-NC-SA 4.0前言 本书将通过解决开发人员常见的问题来帮助您学习 Go 编程语言。您将首先安装 Go 二进制文件,并熟悉开发应用程序所需的工具。然后,您将操作字符…

改进需求分析书

需求规格说明书 该项目是一个基于TCP用QT开发的五子棋对战系统。 项目仓库地址 1.1面向用户分析 五子棋是一种简单的休闲游戏,主要面向不需要高强度消耗、高耗时的网络用户。 对于本项目,目标人群精确至需要在游戏的同时进行社交的用户,他们需要在保证游戏正常运行的同时,直…

Picks Theorem 学习笔记

求顶点都是整点的简单多边形内部的整点个数。Picks Theorem 学习笔记 UVA10088 题目传送门 题意:顺时针或逆时针地给出一个 \(n\) 个顶点(顶点都是整点)的简单多边形,求这个多边形内部的整点数量(位于多边形形上的整点不算)。 Picks Theorem 对于一个顶点都是整点的简单多…

DC-9-sudo提权

标签:SQL注入、本地文件包含LFI、端口敲门、hydra爆破、linux提权 0x00 环境准备 下载地址:https://www.vulnhub.com/entry/dc-9,412/ 靶机描述: DC-9 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testi…

DC-8-Drupal-exim4提权

Vulnhub简介 Vulnhub是一个提供了很多漏洞环境的靶场平台,其中的环境基本上都是做好的虚拟机镜像文件,需要使用VMware或者是VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚拟机到获取操作系统的root权限和查看flag。 靶场部署 Vulnhub官网:https://www…

DC-5-screen提权

Vulnhub简介 Vulnhub是一个提供了很多漏洞环境的靶场平台,其中的环境基本上都是做好的虚拟机镜像文件,需要使用VMware或者是VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚拟机到获取操作系统的root权限和查看flag。 靶场部署 vulnhub官网:https://www…

洛谷P2375 [NOI2014] 动物园

动物园 题目描述输入格式输出格式输入输出样例 输入 3 aaaaa ab abcababc 输出 36 1 32 开始时都没看出来这是kmp板子题 先看看AC代码吧 #include<bits/stdc++.h> #define ll long long using namespace std; const int maxn=1e6+10; const int mod=1e9+7; char a[maxn];…

List的remove()方法详解

https://blog.csdn.net/anxin_hw/article/details/128312846 一、错误使用场景 1、普通for循环遍历List删除指定元素,list.remove(index) 示例:将姓张的名字移除掉List<String> nameList = new ArrayList<>(Arrays.asList("张三", "李四", &…