› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
winnerczwx
V2EX  ›  MySQL

关于 double 类型字段 update 时加单引号的问题

  •  
  •   winnerczwx · Mar 18, 2019 · 4925 views
    This topic created in 2747 days ago, the information mentioned may be changed or developed.
    今天在更新一个 double 字段的数据时发现无法插入预期的数值。数值比较大,预期要插入的是:124999999999999994927090557043795341436499511206056429958717376225837990368869303189504,也就是 1.24E86,但实际插入的是 1E65。

    经过排查发现 mysql 报了一个警告:Warning: #1292 Truncated incorrect DECIMAL value : '999999999994927090557043795341436499511206056429958717376225837990368869303189504'

    百度后发现好像没有跟我相同的情况,但大致意思是说值的类型不匹配被截断了。

    解决方式:
    之后尝试着给这个值加上单引号发现问题竟然解决了。

    字段 a 是 double 当前值是 0
    sql 语句: update table set a = a + '上面那个数值' where xxxx;


    想请问在操作 double 类型字段的时候 加单引号和不加单引号有什么区别吗?
    2 replies  •  2019-03-18 20:28:09 +08:00
    xiaoxinshiwo
        1
    xiaoxinshiwo  
       Mar 18, 2019   ❤️ 1
    不是有 decimal 吗?
    wowo243
        2
    wowo243  
       Mar 18, 2019 via Android
    隐式类型转换?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1055 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:09 · PVG 02:09 · LAX 11:09 · JFK 14:09
    ♥ Do have faith in what you're doing.