MySQL中文建表问题解析 - Go语言中文社区

MySQL中文建表问题解析


MySQL中文建表问题的确很让人头疼,下面就为您举例说明MySQL中文建表问题,如果您之前遇到过MySQL中文建表问题,不妨一看。

数据库中数据的导入导出是一个最简单, 也是最必须的功能.

比如系统在开发时候在个人PC机上, 数据库有很多的初始化数据, 系统开发完成了, 则要把这些初始化数据从PC机上导出成SQL脚本, 在服务器上只要导入这些SQL脚本即可完成数据库初始化.

但是, 对于中文字符的导入却成了大问题, 导入中文, 数据老是报错"Data too long for column XX at row n"

这个问题一直困扰着我, 由于以前数据量比较小, 也就不用导入功能, 大不了再重新初始化一次了. 如今不行了, 初始化数据实在太多, 不可能重新初始化, 但我一直认为一定会有办法解决这个问题, 今天上网找资料搞了大半天, 这个问题基本解决.

为了清楚描述这个问题, 现详细讲解如下:

1. 建数据库

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:Documents and Settingsawish>mysql -u root -p
Enter password: *******
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 24 to server version: 5.0.27-community-nt

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> create database test;

2. 设置数据编码为utf8

  1. mysql> use test;  
  2. Database changed  
  3. mysql> set names utf8; //设置数据库字符集为utf8  
  4. Query OK, 0 rows affected (0.00 sec)  
  5.  

3. 创建数据表

  1. mysql> CREATE TABLE person  
  2.                          -> (  
  3.                          -> id INT(8) NOT NULL AUTO_INCREMENT PRIMARY KEY,  
  4.                          -> name varchar(16) default 'nobody',  
  5.                          -> birthday char(19),  
  6.                          -> )ENGINE=InnoDB DEFAULT CHARSET=utf8//创建数据表,字符集设定为utf8  
  7.                          -> ;  
  8. Query OK, 0 rows affected (0.03 sec)  

版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://database.51cto.com/art/201011/234555.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-06-12 12:06:33
  • 阅读 ( 1292 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢