广告
返回顶部
首页 > 资讯 > 数据库 >MySQL-数据类型隐式转换
  • 525
分享到

MySQL-数据类型隐式转换

mysqlsql 2023-09-08 10:09:25 525人浏览 安东尼
摘要

Mysql-数据类型隐式转换 关键字问题描述解决问题思路问题总结 关键字 数据类型不同导致隐式转换 问题描述 sql 一: select id,sku,weight,image_

Mysql-数据类型隐式转换

关键字

数据类型不同导致隐式转换

问题描述

sql 一:

select id,sku,weight,image_path,state,brand_name,name,product_area,upc,sale_unit,cateGory,ele_gift,introduction,param from XXX where sku=8345903;

一条很简单的 SQL 每次执行需要 1-2 秒,经过查询 sku 字段也建有索引,那么原因何在呢?

SQL二:

delete from `otter_online`.`dest` where  `id` = 2346532305031424 ; -- 把数据库CPU打满。

解决问题思路

SQL 一: 我们查看表结构语句

mysql> show create table XXX\G*************************** 1. row ***************************       Table: XXXCreate Table: CREATE TABLE `XXX` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `sku` varchar(45) DEFAULT NULL,  `weight` varchar(45) DEFAULT NULL,  PRIMARY KEY (`id`),  KEY `i_sku` (`sku`)) ENGINE=InnoDB AUTO_INCREMENT=1262482 DEFAULT CHARSET=utf81 row in set (0.00 sec)

可见 sku 字段虽然建有索引,但是为 varchar(45) 类型,但是我们 SQL 条件 where sku=8345903 以数字形式传值,导致的 数据库类型转换,用不到所建索引。

SQL 二: 查看建表语句

(:.cig:)[otter_online]> show create table dest\G*************************** 1. row ***************************       Table: destCreate Table: CREATE TABLE `dest` (  `id` varchar(50) DEFAULT NULL,  KEY `i_id` (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf81 row in set (0.00 sec)id 为varchar类型,但是 SQL条件传入了数字型,导致无法使用索引,修改方法,在SQL条件上添加引号。(:.cig:)[otter_online]> select count(*) from dest where id = '1958826268315942';+----------+| count(*) |+----------+|        0 |+----------+1 row in set (0.00 sec)+----+-------------+-------+------------+------+---------------+------+---------+-------+------+----------+-------------+| id | select_type | table | partitions | type | possible_keys | key  | key_len | ref   | rows | filtered | Extra       |+----+-------------+-------+------------+------+---------------+------+---------+-------+------+----------+-------------+|  1 | SIMPLE      | dest  | NULL       | ref  | i_id          | i_id | 153     | const |    1 |   100.00 | Using index |+----+-------------+-------+------------+------+---------------+------+---------+-------+------+----------+-------------+(:.cig:)[otter_online]> select count(*) from dest where id = 1958826268315942;+----------+| count(*) |+----------+|        0 |+----------+1 row in set, 65535 warnings (56.62 sec)+----+-------------+-------+------------+-------+---------------+------+---------+------+----------+----------+--------------------------+| id | select_type | table | partitions | type  | possible_keys | key  | key_len | ref  | rows     | filtered | Extra                    |+----+-------------+-------+------------+-------+---------------+------+---------+------+----------+----------+--------------------------+|  1 | SIMPLE      | dest  | NULL       | index | i_id          | i_id | 153     | NULL | 39218874 |    10.00 | Using where; Using index |+----+-------------+-------+------------+-------+---------------+------+---------+------+----------+----------+--------------------------+

问题总结

代码修改条件 where sku=‘8345903’; 解决。

如果字段 sku int(11), where 条件 where sku='8345903’不存在隐式转换。

数据库类型操作要一致。

来源地址:https://blog.csdn.net/u013820054/article/details/131392875

您可能感兴趣的文档:

--结束END--

本文标题: MySQL-数据类型隐式转换

本文链接: https://www.lsjlt.com/news/399772.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL-数据类型隐式转换
    MySQL-数据类型隐式转换 关键字问题描述解决问题思路问题总结 关键字 数据类型不同导致隐式转换 问题描述 SQL 一: select id,sku,weight,image_...
    99+
    2023-09-08
    mysql sql
  • C#数据类型转换(显式转型、隐式转型、强制转型)
    C# 的类型转换有显式转型 和 隐式转型 两种方式。 显式转型:有可能引发异常、精确度丢失及其他问题的转换方式。需要使用手段进行转换操作。隐式转型:不会改变原有数据精确度、引发异常,...
    99+
    2022-11-12
  • ORACLE隐式类型转换
      隐式类型转换简介   通常ORACLE数据库存在显式类型转换(Explicit Datatype Conversion)和隐式类型转换(Implicit Datatype Conversion)两种类型转换方式。如果进行比较或...
    99+
    2020-03-25
    ORACLE隐式类型转换
  • mysql存在哪些隐式类型转换
    mysql存在的隐式类型转换有字符串到数值类型、日期和时间类型、浮点数和整数类型、NULL值等。详细介绍:1、字符串到数值类型的隐式类型转换,当一个字符串和一个数值类型的值进行比较或计算时,MySQL会将字符串转换为数值类型;2、日期和时间...
    99+
    2023-11-14
    mysql 隐式类型转换
  • SQL Server 中的数据类型隐式转换问题
    写这篇文章的时候,还真不知道如何取名,也不知道这个该如何将其归类。这个是同事遇到的一个案例,案例比较复杂,这里抽丝剥茧,仅仅构造一个简单的案例来展现一下这个问题。我们先构造测试数据,如下所示: CRE...
    99+
    2022-10-18
  • JavaScrip简单数据类型隐式转换的实现
    目录JavaScrip隐式转换规则JavaScrip类型转换详解转换成Number类型转换为String类型转换为Boolean类型JavaScrip特殊操作符对类型转换的影响!逻辑...
    99+
    2023-05-20
    JavaScrip 数据类型隐式转换 JavaScrip  隐式转换
  • Oracle中如何实现隐式数据类型转换
    这篇文章主要介绍Oracle中如何实现隐式数据类型转换,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!隐式数据类型转换        &n...
    99+
    2023-06-03
  • golang类型推断与隐式类型转换
    目录前言一、常量的隐式类型转换1.常量的声明2.常量的类型转换3.隐式转换的原理二、变量的类型推断1.类型推断的原理三、类型推断示例分析总结前言 golang类型推断可以省略类型,像...
    99+
    2022-11-13
  • MySQL隐式类型转换导致索引失效
    今天发现一个问题,where条件的列上明明有索引,但是执行计划还是走全表扫描mysql>  explain select task_id&n...
    99+
    2022-10-18
  • javascript mysql数据类型转换
    在前端开发中,经常需要对前端和后端的数据类型进行转换。其中,JavaScript 和 MySQL 是我们常用的两种语言,这篇文章就来讲一下 JavaScript 和 MySQL 数据类型之间的转换。一、JavaScript 数据类型Java...
    99+
    2023-05-17
  • SQL Server 中数据类型怎么实现隐式转换
    本篇文章为大家展示了SQL Server 中数据类型怎么实现隐式转换,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。如下所示: CREATE TA...
    99+
    2022-10-18
  • JavaScrip简单数据类型隐式转换如何实现
    今天小编给大家分享的是JavaScrip简单数据类型隐式转换如何实现,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。总结JavaScript是一种弱数据类型语言 ,在JavaScrip...
    99+
    2023-07-06
  • C#类型转换之自定义隐式转换和显式转换
    目录前言基础知识示例代码实际应用问题答案报错其他应用和设计读音前言 有时我们会遇到这么一种情况:在json数据里,数组里的数据类型不一致,导致我们不能直接反序列化为目标类型。最终我们...
    99+
    2022-11-13
  • mysql如何转换数据类型
    这篇文章主要介绍“mysql如何转换数据类型”,在日常操作中,相信很多人在mysql如何转换数据类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql如何转换数据类型”...
    99+
    2022-10-19
  • JavaScript隐式类型转换例子总结
    目录前言ToStringToNumberToBooleanToPrimitive运算符 +逻辑判断相关== 宽松对等规则1. 字符串和数字之间的相等比较2. 其他类型和布尔类型的相等...
    99+
    2022-11-13
    JavaScript隐式类型转换 JavaScript隐式类换
  • JavaScript隐式类型转换规则详解
    目录前言数学运算符中的类型转换减、乘、除加逻辑语句中的类型转换单个变量使用 == 比较ToPrimitive前言 在 JavaScript 中,在进行运算操作时,如果两边数据不统一,...
    99+
    2023-05-18
    JavaScript 隐式类型转换 JavaScript 类型转换规则
  • 浅析JavaScript中的隐式类型转换
    目录为什么会出现隐式类型转换隐式类型转换的内部转换机制何时会触发ToPrimitive或ToNumber具体案例分析总结为什么会出现隐式类型转换 这个问题的本质原因是因为JavaSc...
    99+
    2023-03-08
    JavaScript隐式类型转换 JavaScript隐式类型
  • JavaScript中的隐式类型如何转换
    这篇文章主要介绍“JavaScript中的隐式类型如何转换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript中的隐式类型如何转换”文章能帮助大家解决问题。为什么会出现隐式类型转换这个...
    99+
    2023-07-05
  • 不同数据类型之间的隐含转换
    赋值语句中数据类型之间的隐含转换    将变长字符(varchar2)或定长字符型(char)转换成数字型(NUMBER)   &nbs...
    99+
    2022-10-18
  • mysql中dateTime类型数据转换为date类型
    目录 一.前言 二.解决方法 2.1用sql来转换 2.2. 用注解解决 一.前言 在我们实际开发中, 数据库中有很多的数据类型, 今天我们来看一下我们的时间转化将dateTime转换成date类型 dateTime类型:  格式:20...
    99+
    2023-09-08
    mysql sql sqlserver
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作