Warning: Data truncated for column 'AirPress' at row 1

/************************************************************************
 *       Warning: Data truncated for column ‘AirPress‘ at row 1
 * 说明:
 *     最近往MySQL中存入数据时,总是看到这个Warning,花点时间来找一下原因。
 *
 *                                      2016-10-20 深圳 南山平山村 曾剑锋
 ***********************************************************************/

一、参考文档:
    python float类型转string类型,要求精度不能丢失!!!
        http://bbs.csdn.net/topics/390236828

二、原因解析:
    1. MySQL中对应的字段中采用类型是:decimal(18,4);
    2. Python中对应的字段采用float类型;
    3. 将float类型变量直接通过str()函数存入MySQL字段中会出现类似如下警告:
        Warning: Data truncated for column ‘AirPress‘ at row 1
    4. 将[str()]函数换成["%.4f" % 变量名]就可避免;
    5. 原因是str()转换出来float类型数据精度大于4,造成数据被truncated。

Warning: Data truncated for column 'AirPress' at row 1

时间: 2024-10-07 20:48:52

Warning: Data truncated for column 'AirPress' at row 1的相关文章

mysql Out of range value adjusted for column导致Warning(1265)Data truncated for column 'column_name' at row 1

今天下午,我们的一个开发来找我,说线上有个环境报了"Warning(1265)Data truncated for column 'column_name' at row 1",定义的字段长度decimal(32,4),实际的小数点有超过4位的,但是大部分的账户登录查询的时候都没有问题,已知的就一个账户进行查询的时候会出现这个问题,看数据没有什么特别异常的. 于是,过去协助排查,临时拷贝了个存储过程,还真蹊跷,查询其他数据都没有问题,但是一到这一条记录就报错,在update报错的语句前

Data truncated for column 'sex' at row 1 错误

正确示例 非空约束2(CHAR(2)数据过小会出错) ALTER TABLE books MODIFY title VARCHAR(50) NOT NULL; ---取消非空 ALTER TABLE books MODIFY title VARCHAR(50) NULL; 错误示例 ALTER TABLE books MODIFY sex CHAR(2) NOT NULL; 错误信息 Data truncated for column 'sex' at row 1 原因 CHAR(2)数据过小会

[MySQL学习]STRICT_ALL_TABLES对应的OUT of RANGE VALUE FOR COLUMN和DATA truncated FOR COLUMN

昨天在存储过程中用了语句insert into a select from b.在应用中发现bigint字段插入到int字段的时候,数值被截断了,插入后已经不是所要的值.因为存储过程中没有用到异常捕捉的处理,所以一开始并未发现错误,只是在比对数据的时候才发现不对.后来比对了两张表,才发现是字段类型不一样.接下来就试着验证了一下(window下的测试环境). 创建两张表 CREATE TABLE T_INT(id INT ,vname VARCHAR(20)); CREATE TABLE T_BI

[Mysql]由Data truncated for column联想到的sql_mode配置

系统日志中出现了 ata truncated for column 'agent' at row 1 mysql出现这个问题的原因,无非就是字符集设置 或者是 字段过长导致的. mysql在初始化的时候已经统一为utf-8了,所以可以忽略这个问题. 字符串过长从而导入插入失败 一种方式是修改字段长度,可是我这个字段没法知道到底多长存储合适,不太好 一种方式是在程序中截取字符串,这个方法可行,也比较好. 但是我又想了想,以前的时候为啥会自动截断,这次就插入不进去了了呢? 原因是mysql的sql_

Data truncated for column xxx

对于字段XXX,数据发生截断.原因是:字段的取值,不满足约束条件.比如下面的情况: 原来的字段取值为null,现在约束字段not null,就会报错Data truncated for column xxx

mysql中出现的Data truncated for column

1.先描述一下自己出现的问题. 如果你想把允许为空值的勾去掉...恰巧数据库中的数据 processed_f 为空没有值....这时候你对数据表结构做更改的时候就会出现Data truncated for column processed_f 的提示..解决方式即为  给数据库中的字段processed_f    赋值 .这时候你在保存.就不会出现这个错误了. 2.网上他人遇到的..mysql中想一个数据库中插入一条记录时,有可能因为好多原因,会出现Data truncated for colu

Mysql load data infile 导入数据出现:Data truncated for column

[1]Mysql load data infile 导入数据出现:Data truncated for column .... 可能原因: (1)数据库表的字段类型长度不够,或改为其他数据类型(即类型错误)试试. (2)Myysql的my.ini配置文件中有一个max_allowed_packet配置项,默认是4M. 如果没有修改默认的这个配置项而你要导入的文件大于4M的话,可能出现上述类似的数据导入错误. Good Good Study, Day Day Up. 顺序 选择 循环 总结 原文地

Mysql text类型字段存储提示错误信息 String data,right truncated:1406 Data too long for column 'content' at row 1

String data,right truncated:1406 Data too long for column 'content' at row 1 当Mysql提示如下时: 1.首先查看存入的文本内容的大小,根据内容大小设置类型 如果超出,根据大小进行更换类型 2.如果还是超出那可能是Mysql根据配置文件限制Server接受数据包大小,有时候大的插入和更新会受max_allowed_packet参数限制,导致写入或者更新失败. 查看目前配置: 代码如下: 以上说明目前的配置是:60 M

解决data too long for column 'name' at row 1

最先试一试最简单的测试方式就是先修改my.ini文件中的-default-character-set = gb2312或utf8,重启mysql再输入数据,如果不行,再考虑以下办法. 在程序中写了一段代码向数据库中插入数据,出现了data too long for column 'name' at row 1的问题.在google搜了一下解决方法,真是五花八门,也逐一试了一遍,终于终于将问题解决了. 下面先贴一下网上的众多解决 1.修改my.ini文件: 将sql-mode=STRICT_TRA