修改mysql的数据格式_修改mysql的数据编码格式

在mysql中插入数据时出现

mysql> insert into user values ("1","李红","23","吉林长春","2");

ERROR 1366 (HY000): Incorrect string value: '\xE6\x9D\x8E\xE7\xBA\xA2' for column 'name' at row 1

因为该列中插入的是中文,所以要修改表user的编码格式

用alter table user default character set utf8;修改

用 show create table user;查询

mysql> alter table user default character set utf8;

Query OK, 0 rows affected (0.03 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> show create table user;

| Table | Create Table

| user | CREATE TABLE `user` (

`id` int(11) DEFAULT NULL,

`name` char(16) CHARACTER SET latin1 DEFAULT NULL,

`age` int(11) DEFAULT NULL,

`address` char(32) CHARACTER SET latin1 DEFAULT NULL,

`wage` tinyint(4) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

1 row in set (0.01 sec)

发现name列,和address列仍是latin1的编码格式

用下列两行修改两列的编码格式,

char(16) character set utf8代表修改后的格式

alter table user modify name char(16) character set utf8;

alter table user modify address char(32) character set utf8;

如果需要改变列名,可以把modify name改为change name newname

注意:在创建数据库时可修改整个数据库的数据编码格式

create database dbname

character set 'utf8'

;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值