解决办法:
在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_SUBSTITUTION
注释掉,然后重启mysql就ok了
=================================================================
从MySql5中运行本地脚本创建数据库,当插入中文字段时发生“data too long for column”错误。上网一查,发现多字节用户大都碰到了这种情况。google搜索网上的解决方法大都是要将数据库的编码方式为GBK或UTF8,可我在安装MySql时就选择了UTF8格式。原来错误原因是本地的脚本文件不是UTF8编码的,用记事本或UltraEdit将编码转为UTF8后问题解决。再次强调,JSP页面,数据库联接接方式,数据库创建,…,都须一致使用UTF8编码!
BTW,MySql最近借着Web2.0的浪潮风头很劲啊,techn orati(好像这几天被GFW filter了),flickr,del.icio.us等一批网站都是用了MySql。MySql还专门在首页开了一大块来炫耀。
posted on 2006-07-14 19:12 Duran's technical life 阅读(3455) 评论(4) 编辑 收藏 所属分类: 技术积累
Comments
*
# re: 关于MySql5的“data too long for column”错误
new
Posted @ 2006-12-28 12:45
<b>test</b> 回复 更多评论
*
# re: 关于MySql5的“data too long for column”错误
yadan
Posted @ 2007-05-03 23:24
关于这个问题进一步探讨了一下,博主有空看看。
http://blog.sina.com.cn/u/53b0d5dc0100097v
回复 更多评论
*
# re: 关于MySql5的“data too long for column”错误
wuchuanyu
Posted @ 2007-09-25 16:13
@new
我直接在mysql里输入,也碰到这个问题是怎么回事? 回复 更多评论
*
# re: 关于MySql5的“data too long for column”错误
试试
Posted @ 2007-11-23 19:49
レゾンデートル.mp3 回复 更多评论
=====================================================
--------------Copyright ayiiq180---------2005-11-24----------------
MySQL 发布也有一段时间了,我自己的小站一直用的MySQL4.1,运转正常,不过由于看到MySQL对视图、触发器、存储过程等等的支持,忍不住下载了一个 windows版本,装在自己机器上试验,准备把小站迁移到MySQL5。没想到的是这个过程居然花费了整整一个下午。
1.
安装不在罗嗦,不管是下载的安装包或者解压非安装版安装都非常容易,自己注册windows系统服务即可,重点是my.ini文件的设置,其中,包含了字符集的设置,也就是MySQL的默认字符集,这里涉及到两个地方,注意,这是windows下的设置:
[mysql]
default-character-set=gbk
[mysqld]
default-character-set=gbk
2. 厄运开始。在导出了MySQL4的数据库后,我非常随意的将SQL脚本执行了,连输出结果都没看,以为大功告成了,然而,在我敲入'http: //localhost:8080'的时候,我赫然发现所有本该有文字的地方空空如也,马上在MySQL中查询,果然,数据库中输出表存在,所有数据一无所有。于是乎,我重新将INSERT语句单独执行,不幸的是,所有只要包含中文的地方,一概出现了一行错误提示“Data too long for column 'xx' in row 1”,随之的结果就是所有前面执行的东西全部rollback。想当然的我认为是字符集设置问题,检查了无数次my.ini,试了无数字符集,仍无法插入一个中文字符,遂GOOGLE,果然发现只要非English语系都有这个问题,解决办法暂时只能是在INSERT前执行:
SET NAMES GBK;
执行了以上语句后,一帆风顺的插入了数据库,CommandLine下Select欢快的显示出了所有数据,中文一切正常。
3. 厄运继续我兴奋的敲入了我敲了无数遍的URL,突然发现所有中文字符全都是"?",难道是查询语句问题,检查若干遍没发现问题,试着在my.ini中设置了client的字符集也没有效果,突然想到,是否对client来说,查询返回的结果也需要指定字符集?
4. 柳暗花明我尝试性的在我php的MySQL连接字符串下执行了如下语句:
mysql_query("SET NAMES GBK");
终于,在浏览器中我看到了熟悉的文字:)
5. 总结:对于以上问题,在我GOOGLE的过程中,发现很多人都遇到了,不过多数地方没有提到如何解决之,所以在这里整理了一下,希望对朋友们有所帮助。
分享到:
相关推荐
在MySQL数据库操作中,当你尝试插入或更新一行数据时,如果某个字段的值超过了该字段定义的最大长度,系统会抛出“ERROR 1406 : Data too long for column”的错误。这个错误提示非常直接,意味着你试图输入的数据在...
在 MySQL 中,当我们尝试导入中文字符时,总是报错“Data too long for column XX at row n”。这个问题的主要原因是 MySQL 的默认编码为 gb2312,而我们通常使用的 UTF-8 编码,这两个编码之间的差异导致了这个问题...
"data too long for column"错误提示则表明尝试存储的数据超过了列的最大长度,这与字符集编码有关,也可能导致乱码。下面我们将深入探讨如何识别和解决这些问题。 首先,我们要理解MySQL中的字符集。字符集定义了...
- `com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column` 错误表示数据长度超过了列的允许长度,这通常不是字符集问题,而是字段长度不足。需检查对应列的定义并调整其大小。 7. **...
10. 错误1406: Data too long for column 'column_name' at row 1 插入的数据长度超过了列的最大允许长度。调整数据的大小,或者增大列的长度限制。 这些错误只是MySQL使用过程中可能遇到的一部分,理解和解决这些...
如果字段长度足够,但插入中文字符时仍然收到“Data too long for column”错误,那可能是因为字段的字符集不支持中文字符。确保字段的字符集与数据库的字符集兼容。 7. **查询结果的字符集**: 除了数据库和字段...
在本例中,报错信息为“Incorrect string value :'\xE5\x8F\xAC' for column 'XXX' at row 1”,这通常意味着尝试插入的文本包含了MySQL无法识别的字符编码,或者字段类型不能容纳特定的字符序列。 首先,我们需要...
在上面的例子中,当尝试向`VARCHAR(10)`列插入`12345678901`时,由于超过了10个字节(10个英文数字字符共10字节),MySQL返回了`ERROR 1406 (22001): Data too long for column 'name' at row 1`错误。同样,当尝试...
如果遇到`Data too long for column`错误,检查字段类型和长度。 2. **数据库创建时指定字符集**:在创建数据库时明确指定字符集,如`CREATE DATABASE db_name CHARACTER SET utf8 COLLATE utf8_general_ci;` 3. **...
在处理MySQL数据库时,中文乱码问题是一个常见的挑战,尤其对于使用GBK编码的系统迁移到UTF-8编码的场景。本文将深入探讨如何彻底解决MySQL中的中文乱码问题,涵盖从数据库、表、字段到连接参数等全方位的调整策略。...
但是,由于返回的结果是字符串,当子集数量庞大时,可能会导致`Data too long for column`的错误,因为它受到列的最大长度限制。 ```sql CREATE FUNCTION `lvtao_demo_a`(rootId int) RETURNS text CHARSET utf8 ...
EXP_FULL_DATABASE, IMP_FULL_DATABASE这两个角色用于数据导入导出工具的使用。 自定义角色 Oracle建议我们自定义自己的角色,使我们更加灵活方便去管理用户 创建角色 SQL> create role admin; 授权给...
* When the size of a Persistent field in TClientDataSet is set too large, it overwrites neighboring fields upon Post (Quality Central 3974). * TDataSetProvider generates incorrect SQL in response to ...
2.4 数据类型 PHP支持整数、浮点数、字符串、数组和对象。变量类型通常不由程序员决定而由PHP运行过程决定(真是好的解脱!)。但是类型也可以被函数cast或者settype()明确的设定。 数值 数值类型可以是整数或是...