例:
CREATE TABLE td_m_funcright11
(RIGHT_CODE
VARCHAR(30) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (RIGHT_CODE
)
);
INSERT INTO td_m_funcright11 VALUES('1'),('2'),('1 ');
错误:Error Code: 1062 - Duplicate entry '1 ' for key 'PRIMARY'
描述:
插入的值第一个及第三个系统认为是是主键重复,但实际上这两个值length()长度是不一样的,是否意味着存储的时候默认把1尾部后面的空格去掉了?但如果在这个1 前面加再空格就能插入。本人小白表示不太理解,请各位大神给帮忙解释下。
遇到这个问题是因为从ORACLE的数据转到MYSQL中,ORACLE库中存在两条主键字段值一条尾部包含空格 ,一条不包含的值,导入MYSQL中就只能插一条,再插就会报主键冲突,各位大侠有啥好的办法,想保留这两条记录又得是主键。。。