在5.0版本中,配置mysql时选择的是utf8,在建表时有定义:engine=innodb default charset=utf8,结果运行时中文插不进去,会显示错误:data too long for column 'Aname' at row 1mysql> show create table send;
+-------+-------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------+
| Table | Create Table
|
+-------+-------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------+
| send | CREATE TABLE `send` (
`Aname` varchar(50) NOT NULL,
`Id` bigint(8) NOT NULL,
`Date` varchar(50) default NULL,
PRIMARY KEY (`Aname`,`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+-------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)mysql> select * from send;
Empty set (0.00 sec)mysql> insert into send values ('把握','1','10');
ERROR 1406 (22001): Data too long for column 'Aname' at row 1
mysql>
+-------+-------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------+
| Table | Create Table
|
+-------+-------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------+
| send | CREATE TABLE `send` (
`Aname` varchar(50) NOT NULL,
`Id` bigint(8) NOT NULL,
`Date` varchar(50) default NULL,
PRIMARY KEY (`Aname`,`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+-------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)mysql> select * from send;
Empty set (0.00 sec)mysql> insert into send values ('把握','1','10');
ERROR 1406 (22001): Data too long for column 'Aname' at row 1
mysql>
解决方案 »
- mysql设置外键来查询与不设置外键建立联合查询有什么不同?
- 数据库的查询(给定一个表数据,生成新表中数据),望大侠们指导
- 关于数据库乱码问题,谢谢高手赐教
- mysql配置文件问题
- 江湖救急!!!各位大哥!!mysql中文的问题,插入读出正常,但在后台显示的中文都是乱码,查遍贴子也没解决!多谢了!
- mysql下,怎么执行一个外部sql文件,对空数据库建表,建数据
- 应该也属于子查询的问题?
- 存储过程问题
- 请教微信朋友圈(好友动态)使用的存储方式是什么?
- mysql如何统计以关联表中某个字段的所有取值所对应数据记录数,并以另一个字段作为分组条件
- mysql like 如何最优化啊,大家帮帮
- MediunBlob类型,数据太大上传失败:max_long_data_size
我想问一下为什么要先set names gbk啊??
参考下贴中关于字符集的介绍。
http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码