zoukankan      html  css  js  c++  java
  • 【原创】mysql数据库异常:data truncate for column “*” at row *;data too long *。原因,及解决。

    数据库异常

    1.data truncate for column “*” at row *:

    就是数据被截断,类似时间被截短(字段属性为date,要存储的数据为timestamp),精度下降。

    将数据库的字段属性调整合适,或者将要存储的数据进行精度调整即可。

    2.data too long ***:

    显然就是说你的数据长度超了,字段最长支持5位,你来了个10位,装不下了,就报这个错。

    更上一个异常的处理类似即可。

    如果不能解决

    如果就像上面那样,我写这个就太蛋疼了。

    现在就来说安照上面的做法,你修改了数据,调整了数据库,可是还是会报上面的错误,这是为什么呢?

    一般发生这种问题,按上述做法后不生效的,大多可能用到了mysql的 enum(枚举类型) character。(或者其他也会有)

    问题就是编码,你传入的数据编码格式与mysql的编码格式不同,导致数据库接收到的数据解析后与你的枚举不同,所以导致你无法插入(insert)、更新(update)。

    如果不是枚举的话,应该不会报错,只是你输入的中文内容会变为乱码。

    解决

    这个时候就要把数据库的编码格式改为我们常用的“utf-8”编码,具体做法如下:

    找到mysql的my.cnf文件(linux下)

    默认为: /etc/mysql   my.cnf

    找到  “[client]” , 在他的下面添加一行

    “default-character-set=utf8” (没错,是utf8,不是utf-8)

    找到 “[mysqld]” , 在他的下面添加一行

    “character-set-server=utf8”

    重启数据库,可以重新执行下更新、或插入操作看看;

    也可以进到mysql内 执行“ show variables like "character-set%";

     

     

  • 相关阅读:
    从属性文件中读取配置
    Page Object Manager
    在Selenium中使用JavaScriptExecutor处理Ajax调用?
    wait
    常用操作
    Selenium收藏官方网址
    PageObject样例
    解决办法-错误:Access denied for user 'root'@'localhost'
    Struts2中的OGNL详解
    用C++,调用浏览器打开一个网页
  • 原文地址:https://www.cnblogs.com/love-julia/p/3467957.html
Copyright © 2011-2022 走看看