`
jihui1988
  • 浏览: 8873 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

mysql data too long for column xxx解决方案

阅读更多
问题:java.sql.SQLException: Data truncation: Data too long for column 'content' at row 1 Query

遇到这个问题搜集的网上的一些解决方案:

第一种解决办法:

出自:http://www.blogjava.net/zoninge/archive/2009/04/15/265663.html感谢博主!
在页面中向mysql5.0插入中文数据时提示失败,将sql语句复制到管理器中,数据库提示data too long for column "title",我改为一个汉字,还是提示同样的信息,换成英文再试一下,正常,应该是字符集除了问题,但是数据库在建立的时候就选择的DEFAULT_CHARSET,应该是字段的问题。
将MySQL安装目录下的my.ini文件中的字符集配置如下(修改完之后,最好重启一下MySQL服务):
    [mysql]
    default-character-set=gbk
    [mysqld]
    default-character-set=gbk
或者在my.ini里找到
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
把其中的
STRICT_TRANS_TABLES,
去掉,然后重启mysql就ok了
    将表和字段的字符集属性都改成gbk。
    在每一次MySqlCommand Execute语句时,如果SQL语句或者参数中包含中文,或者是返回的记录集中有中文(指Select的查询语句),就在这个Execute的SQL语句之前加一个SET NAMES GBK;。

第二种解决方案:

http://www.cnblogs.com/amboyna/archive/2008/04/21/1163110.html
感谢博主!

data too long for column xxx解决方案

Update:mysql5在phpmyadmin无法连接时执行的语句:
SET PASSWORD FOR ‘root’@'localhost’ = OLD_PASSWORD(’[newpassword]‘);

刚才在导入数据的时候,navicat报错:
Data too long for column ‘ip’ at row 1
提示数据对于ip字段太长

如果数据类型不正确,也会出错,而不像4.*那样自动转换:
sendQuery:Incorrect datetime value: ‘未知’ for column ‘date’ at row 1


如果是数据x (int 11)类型的可能有些奇怪:
insert into a (x) values (’a')
出现:
Out of range value adjusted for column ‘x’ at row 1

insert into a (x) values (’11a’)
出现:
Data truncated for column ‘x’ at row 1

解决办法:
在my.ini里找到
sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION”
把其中的
STRICT_TRANS_TABLES,
去掉,然后重启mysql就ok了
参考博主转自:Trackback:[url] http://tb.blog.csdn.net/TrackBack.aspx?PostId=2032186[/url]


关于MySQL5中varchar字段类型的长度定义:


原文稍作了截取:
http://hi.baidu.com/mcspring/blog/item/63f0dea25e8e7baacbefd0ad.html

借此机会重新仔细读了一下MySQL5的文档,其中对varchar字段类型这样描述:varchar(m) 变长字符串。M 表示最大列长度。M的范围是0到65,535。(VARCHAR的最大实际长度由最长的行的大小和使用的字符集确定,最大有效长度是65,532字节)。

为何会这般变换?真是感觉MySQL的手册做的太不友好了,因为你要仔细的继续往下读才会发现这段描述:MySQL 5.1遵从标准SQL规范,并且不删除VARCHAR值的尾部空格。VARCHAR保存时用一个字节或两个字节长的前缀+数据。如果VARCHAR列声明的长度大于255,长度前缀是两个字节。

好了,貌似懂了一点。但具体他说的长度大于255时使用2个字节长度前缀,小学减法题:65535 - 2 = 65533啊。不知道这些大牛如何计算的,暂且保留疑问吧?

注:我测试了一下使用UTF8编码,varchar的最大长度为21854字节。
------------------------------------------------------------------
可能人品不好 上面都没有解决我的问题。我把数据类型换成了longtext  长度不用设置就ok了

分享到:
评论

相关推荐

    ERROR 1406 : Data too long for column 解决办法

    解决办法: 在my.ini里找到 sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION” 把其中的STRICT_TRANS_TABLES,去掉, 或者把sql-mode=STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_...

    MySql.Data.dll 6.4.4 For .NET 2.0

    MySQL 数据库是一个流行的开源关系型...总之,`MySql.Data.dll 6.4.4 For .NET 2.0` 是 .NET 开发者与 MySQL 数据库通信的重要工具,它提供了丰富的接口和功能,使得在 .NET 环境下操作 MySQL 数据库变得简单而高效。

    MySql.Data.dll 6.4.4 for .net 4.0

    MySql.Data.dll 6.4.4 for .net 4.0

    mysql5.0乱码的解决实例

    "data too long for column"错误提示则表明尝试存储的数据超过了列的最大长度,这与字符集编码有关,也可能导致乱码。下面我们将深入探讨如何识别和解决这些问题。 首先,我们要理解MySQL中的字符集。字符集定义了...

    MySql.Data.dll For C#

    MySQL.Data.dll 是一个重要的.NET框架库,专门为C#开发者提供与MySQL数据库交互的功能。这个库使得在C#环境中,开发者可以像操作SQL Server那样方便地操作MySQL数据库,大大简化了跨平台数据库应用的开发工作。 ...

    MySql.Data 版本6.9.9.0

    MySQL.Data 是 MySQL 官方提供的一款用于 .NET 开发的数据库连接库,版本6.9.9.0是该库的一个特定发行版。这个库使得.NET开发者能够...无论是简单的CRUD操作还是复杂的事务处理,MySQL.Data都提供了全面的解决方案。

    MySql.Data.dll .net2.0版本

    MySQL.Data.dll是MySQL数据库连接器的一个重要组成部分,主要用于.NET Framework 2.0应用程序与MySQL服务器之间的数据交互。这个DLL文件是MySQL官方提供的,允许开发者在使用C#、VB.NET或其他.NET支持的语言时,轻松...

    C#操作Mysql数据库的MySql.Data.dll下载

    这通常可以通过在解决方案资源管理器中右键点击“引用”目录,选择“添加引用”,然后在浏览选项中找到MySql.Data.dll来完成。对于不同版本的MySQL数据库,可能需要对应版本的MySql.Data.dll,以确保兼容性。 接...

    mysql.data.dll包含(4.0和4.5),福音

    6. 错误处理和状态管理:当与MySQL服务器的通信出现问题时,MySQL.data.dll会抛出异常,帮助开发者识别和解决问题。 7. 支持异步操作:在.NET 4.5中,引入了异步编程模型,MySQL.data.dll也支持异步数据库操作,...

    各版本Mysql.Data.dll官方整理下载

    - 每个版本的附带帮助文档是开发者的重要参考资料,详细介绍了如何使用特定版本的MySQL.Data.dll,包括API接口、方法、类库的使用示例,以及常见问题的解决方案。 3. **Samples**: - 提供的Samples是实际应用中...

    Mysql.Data(.net3.5;4.0).dll

    MySQL.Data(.NET 3.5;4.0).dll 是MySQL数据库在.NET Framework 3.5和4.0环境中使用的数据提供程序,主要用于C#开发中的数据库连接和操作。这个库使得C#开发者能够轻松地在Visual Studio 2010中与MySQL数据库进行交互...

    mysql.data.dll

    MySQL数据访问库MySQL.data.dll是用于连接和操作MySQL数据库的关键组件,主要在.NET环境中使用,如Visual Studio(VS)项目。这个DLL文件包含了.NET开发者所需的API,使得他们能够通过C#、VB.NET或其他.NET支持的...

    MySql.Data.dll8.0类库

    MySQL.Data.dll是MySQL数据库连接器的一个重要组成部分,主要用于C#和其他.NET Framework应用程序与MySQL服务器进行交互。这个8.0版本的类库提供了丰富的API,使开发者能够方便地执行SQL查询、管理数据库对象以及...

    MySql.Data.dll For .Net

    MySql.Data.dll For .Net .Net里面Mysql的链接操作库,赚分用啊,多谢大家!

    MySQL 8 for Big Data epub

    MySQL 8 for Big Data 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书

    mysql.data.dll(.net 4.0或以前版本)

    MySQL.data.dll是MySQL数据库连接器的一个重要组件,主要用于.NET Framework 2.0、3.0、3.5和4.0版本。这个DLL文件是MySql Connector/NET的一部分,允许开发人员在使用.NET Framework开发的应用程序中与MySQL数据库...

    MySql.Data.dll

    或者,如果你已经安装了MySQL Connector/NET,可以在“解决方案资源管理器”中右键点击项目,选择“添加引用”,在“浏览”选项卡中找到MySQL.Data.dll并添加。 3. **导入命名空间**:在C#代码中,你需要导入"MySql...

    MySql.Data.DLL 各种版本

    这个压缩包包含了多种版本的MySQL.Data.DLL文件,包括适用于32位(X86)和64位(X64)操作系统的版本,旨在解决开发者在不同环境下寻找兼容DLL的问题。 1. **MySQL.Data.DLL的概述**: MySQL.Data.DLL是MySQL ...

    各版本mysql.data.dll文件

    MySQL.Data.dll是MySQL数据库连接器的一个重要组件,主要用于.NET应用程序与MySQL服务器之间的数据交互。这个文件是.NET Framework的一部分,允许开发者使用C#、VB.NET或其他.NET支持的语言来编写能够访问MySQL...

    mysql.data版本集合

    3. **全文搜索**:如果“给定关键字不在字典中”是因为查询涉及的是文本字段,考虑使用全文搜索引擎如MySQL的Full-Text Search功能,或者更强大的解决方案如Elasticsearch。 4. **错误处理**:在应用程序中,应适当...

Global site tag (gtag.js) - Google Analytics