生僻字入表会导致入表失败;[Err] 1366 - Incorrect string value: '\xF0\xA1\x98\x99' for column 'KNWLG_NM' at row 1

最近因为 出现了数据空白问题,定位结果 为生僻字‘“ 导致入表报错,数据保存失败;所以记录一下;以后定位也多一个思路;

测试表:结构及建表语句

show create table index_learn;
CREATE TABLE `index_learn` (
  `learnId` bigint(20) unsigned NOT NULL COMMENT '知识ID',
  `knwledgeid` bigint(20) unsigned DEFAULT NULL COMMENT '预采编知识ID',
  `KNWLG_NM` varchar(255) NOT NULL COMMENT '知识名称',
  `KNWLG_ALS` varchar(255) DEFAULT NULL COMMENT '知识别名',
  `KYWDS` varchar(255) DEFAULT NULL COMMENT '关键词',
  PRIMARY KEY (`learnId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='ceshi'

 

插入数据,插入生僻字执行:

INSERT INTO index_learn VALUES('1','2',
'','3','4');
 

会报错 Incorrect string value: 不正确的字符串值;

猜测的应该是 生僻字在 utf8 中找不到对应的字符集存储 报错的;

生僻字入表会导致入表失败;[Err] 1366 - Incorrect string value: '\xF0\xA1\x98\x99' for column 'KNWLG_NM' at row 1_第1张图片

你可能感兴趣的:(书籍:深入浅出MySQL,数据库开发优化与管理维护)