SQL错误(1366):Incorrect String Value

本贴是基于Hedisql上的数据库操作。

我在本地创建了一个product表

包含字段"product_id","product_name","product_type","sale_price","purchase_price"和"register_date"。

SQL错误(1366):Incorrect String Value_第1张图片

接着编写SQL语句向表product中增加记录:

START TRANSACTION;
INSERT INTO product VALUES ('0001','T恤' ,'衣服', 1000, 500, '2009-09-20');
INSERT INTO product VALUES ('0002','打孔器', '办公用品', 500, 320, '2009-09-11');
INSERT INTO product VALUES ('0003','运动T恤', '衣服', 4000, 2800, NULL);
INSERT INTO product VALUES ('0004','菜刀', '厨房用具', 3000, 2800, '2009-09-20');
INSERT INTO product VALUES ('0005','高压锅', '厨房用具', 6800, 5000, '2009-01-15');
INSERT INTO product VALUES ('0006','叉子', '厨房用具', 500, NULL, '2009-09-20');
INSERT INTO product VALUES ('0007','擦菜板', '厨房用具', 880, 790, '2008-04-28');
INSERT INTO product VALUES ('0008','圆珠笔', '办公用品', 100, NULL, '2009-11-11');
COMMIT;

但是接着运行软件报错:

 SQL错误(1366):Incorrect String Value_第2张图片

意思是说:给字段product_name赋的字符串值不对。

乍看有点懵逼,我原以为是标点符号半角写成了全角,全部修改一遍后发现还是不对。然后不经意间,点开了表。

看到“选项”下有个“默认字符集”,显示的是latin_swedish_ci,这才意识到问题所在,可能和编码方式不兼容中文有关(因为product_name含中文)

SQL错误(1366):Incorrect String Value_第3张图片

 于是在字符集下拉列表中选择了utf8_general_ci,并将右边的“转换数据”勾选上。然后点击下方的“保存”就可以将字符编码方式改为utf-8了。

SQL错误(1366):Incorrect String Value_第4张图片

Finally,总算成功了! 

SQL错误(1366):Incorrect String Value_第5张图片

 

Tips:后来觉着每此碰到中文输入的话都要手动改字符编码方式太麻烦了。上网搜了一些解决办法,大致如下:

1、在创建数据库的时候就指定好字符编码方式,比如create database ‘数据库名' character set utf8;或者alter database ‘数据库名’ character set utf8;

详见博客https://blog.csdn.net/vanessa_li/article/details/78095638,转载请注明出处!

2、修改配置文件,详见博客https://www.cnblogs.com/xiaoliying/p/7434971.html,转载请注明出处!

你可能感兴趣的:(数据库)