node操做mysql插入數據異常,incorrect string value

產生的緣由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

相關文章
相關標籤/搜索