Home > AI > Uncategorized

mysql – 编码错误及查看修改

(1366, “Incorrect string value: ‘\\xE6\\xB7\\xB1\\xE5\\x85\\xA5…’ for column ‘ 今天遇到这个错误,发现是由于创建数据库时把编码格式弄错了,导致了出现如下错误。

  1. CREATE TABLE `tb_vote` (
  2.   `voteID` int(11) NOT NULL auto_increment,
  3.   `voteName` varchar(255) default NULL,
  4.   `channelID` int(11) default NULL,
  5.   PRIMARY KEY  (`voteID`),
  6.   KEY `channelID` (`channelID`)
  7. ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COMMENT=‘投票表’;

原来是gb1312后来我改成utf8后项目运行成功。以后注意这个问题。

 

1.查看数据库编码格式

1
mysql> show variables like 'character_set_database';

2.查看数据表的编码格式

1
mysql> show create table <表名>;

3.创建数据库时指定数据库的字符集

mysql>create database <数据库名> character set utf8;

4.创建数据表时指定数据表的编码格式

create table tb_books (
    name varchar(45) not null,
    price double not null,
    bookCount int not null,
    author varchar(45) not null ) default charset = utf8;

5.修改数据库的编码格式

mysql>alter database <数据库名> character set utf8;

6.修改数据表格编码格式

mysql>alter table <表名> character set utf8;

7.修改字段编码格式

mysql>alter table <表名> change <字段名> <字段名> <类型> character set utf8;

mysql>alter table user change username username varchar(20) character set utf8 not null;

8.添加外键

mysql>alter table tb_product add constraint fk_1 foreign key(factoryid) references tb_factory(factoryid);
mysql>alter table <表名> add constraint <外键名> foreign key<字段名> REFERENCES <外表表名><字段名>;

9.删除外键

mysql>alter table tb_people drop foreign key fk_1;
mysql>alter table <表名> drop foreign key <外键名>;

 

Related posts:

Leave a Reply