pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

MySQL 松散比較,在具有整數值的 varchar 字段上的

MySQL loose comparison, WHERE on varchar field with integer value yields unexpected result(MySQL 松散比較,在具有整數值的 varchar 字段上的 WHERE 產生意外結果)
本文介紹了MySQL 松散比較,在具有整數值的 varchar 字段上的 WHERE 產生意外結果的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

限時送ChatGPT賬號..

我最近在一個程序中發現了一個有趣的錯誤,該程序使用他們的私鑰為特定客戶選擇數據.考慮以下幾點:

I recently discovered an interesting bug in a program, which selects data for a specific customer using their private key. Consider the following:

SELECT `id` FROM (`customers`) WHERE `authenticationKey` = '#09209!ko2A-' LIMIT 1

密鑰在請求時提供,并在查詢之前進行了適當的清理.但是,如果沒有提供密鑰(應該在之前被捕獲;忽略它),將產生類似于以下內容的查詢:

The key is provided at request-time, and properly sanitized before put to query. However, failing to providing a key (which should be caught before; ignore that), would yield a query similar to the following:

SELECT `id` FROM (`customers`) WHERE `authenticationKey` = 0 LIMIT 1

它會從 customers-table 返回一行 - 盡管它存儲了一個正確的字符串鍵,例如在第一個示例中.

Which would return a row from the customers-table - despite it having a proper, string, key stored, such as in the first example.

authenticationKey 字段的類型為 VARCHAR(1024).

我的猜測是這與松散比較有關.導致此問題的原因是什么,如何正確避免?

My guess is that this has something to do with loose comparasion. What is causing this problem, and how can it properly be avoided?

推薦答案

MySQL 會嘗試將數據強制轉換為可比較的類型.在這種情況下,它會嘗試將字符串轉換為數字.任何無法理解的字符串默認為 0.

MySQL will try and coerce data to a comparable type. I this case it will try and convert strings to numbers. Any strings that it can't make sense of default to 0.

select 0 = 'banana'

看到這一點.

將您的查詢與 '0' 而不是 0 進行比較可以解決問題.

Making your query compare to '0' instead of 0 would fix it.

示例 SQLFiddle

這篇關于MySQL 松散比較,在具有整數值的 varchar 字段上的 WHERE 產生意外結果的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

What SQL Server Datatype Should I Use To Store A Byte[](我應該使用什么 SQL Server 數據類型來存儲字節 [])
Interpreting type codes in sys.objects in SQL Server(解釋 SQL Server 中 sys.objects 中的類型代碼)
Typeorm Does not return all data(Typeorm 不返回所有數據)
Typeorm .loadRelationCountAndMap returns zeros(Typeorm .loadRelationCountAndMap 返回零)
How to convert #39;2016-07-01 01:12:22 PM#39; to #39;2016-07-01 13:12:22#39; hour format?(如何將“2016-07-01 01:12:22 PM轉換為“2016-07-01 13:12:22小時格式?)
MS SQL: Should ISDATE() Return quot;1quot; when Cannot Cast as Date?(MS SQL:ISDATE() 是否應該返回“1?什么時候不能投射為日期?)
主站蜘蛛池模板: 肉嫩度仪-凝胶测试仪-国产质构仪-气味分析仪-上海保圣实业发展有限公司|总部 | 吹田功率计-长创耐压测试仪-深圳市新朗普电子科技有限公司 | 吊篮式|移动式冷热冲击试验箱-二槽冷热冲击试验箱-广东科宝 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 中控室大屏幕-上海亿基自动化控制系统工程有限公司 | 首页 - 张店继勇软件开发工作室| 今日娱乐圈——影视剧集_八卦娱乐_明星八卦_最新娱乐八卦新闻 | 绿叶|绿叶投资|健康产业_绿叶投资集团有限公司 | 锡膏喷印机-全自动涂覆机厂家-全自动点胶机-视觉点胶机-深圳市博明智控科技有限公司 | 青海电动密集架_智能密集架_密集架价格-盛隆柜业青海档案密集架厂家 | 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 苏州柯瑞德货架-仓库自动化改造解决方案| 真石漆,山东真石漆,真石漆厂家,真石漆价格-山东新佳涂料有限公司 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 | RTO换向阀_VOC高温阀门_加热炉切断阀_双偏心软密封蝶阀_煤气蝶阀_提升阀-湖北霍科德阀门有限公司 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 富森高压水枪-柴油驱动-养殖场高压清洗机-山东龙腾环保科技有限公司 | 纳米二氧化硅,白炭黑,阴离子乳化剂-臻丽拾科技 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 东风体检车厂家_公共卫生体检车_医院体检车_移动体检车-锦沅科贸 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 不锈钢复合板|钛复合板|金属复合板|南钢集团安徽金元素复合材料有限公司-官网 | 亮化工程,亮化设计,城市亮化工程,亮化资质合作,长沙亮化照明,杰奥思【官网】 | 吨袋包装机|吨包秤|吨包机|集装袋包装机-烟台华恩科技 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 斗式提升机,斗式提升机厂家-淄博宏建机械有限公司 | 衢州装饰公司|装潢公司|办公楼装修|排屋装修|别墅装修-衢州佳盛装饰 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 蚂蚁分类信息系统 - PHP同城分类信息系统 - MayiCMS | 郑州律师咨询-郑州律师事务所_河南锦盾律师事务所 | 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 北京包装设计_标志设计公司_包装设计公司-北京思逸品牌设计 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | C形臂_动态平板DR_动态平板胃肠机生产厂家制造商-普爱医疗 |