产生的缘由html
我在建立表的时候,并无设定字符编码,因此,默认的字符编码是 latin1前端
在我插入数据的时候,个人一个字段name设定的是varchar(20) 其实,这时的编码就是 latin1 因此,在前端插入数据,在前端和node后端的数据都没问题,可以正常显示,可是插入就报错,异常。node
解决办法mysql
修改mysql中的字段的编码,数据库的编码:sql
一、修改数据库的编码数据库
mysql>alter database "数据库名" character set utf8;后端
二、查看数据库的编码编码
mysql> show variables like 'character_set_database';code
三、查看数据表的编码格式htm
mysql> show create table "表名称";
四、修改表的编码格式
mysql> alter table "表名" character set utf8;
tips: 在你建立表的时候,你的编码不是utf8,若是你的字段已经在修改编码以前已经建立,你会发现,字段的编码格式并无改变,因此须要使用下面的语句,针对字段进行编码格式的修改。 看 第7句
五、建立数据库时指定数据库的字符集
mysql>create database "数据库名" character set utf8;
六、建立数据表时指定数据表的编码格式
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;
七、修改字段的编码方式:
mysql>alter table <表名> change <字段名> <字段名> <类型> character set utf8;
示例:mysql>alter table user change username username varchar(20) character set utf8 not null;
八、 修改一张表全部字段的编码格式
mysql>alter table “表名” convert to character set utf8;
九、添加外键
示例: mysql>\alter table tb_product add constraint fk_1 foreign key(factoryid) references tb_factory(factoryid);
mysql>alter table <表名> add constraint <外键名> foreign key <字段名> REFERENCES <外表表名> <字段名> ;
十、删除外键
mysql>alter table “表名” drop foreign key “外键名”;
参考连接 : https://www.cnblogs.com/codeplus/archive/2011/08/02/2125546.html