weixin_43886819 2018-12-19 11:17 采纳率: 0%
浏览 849

mysql 主键 唯一性校验为啥会去掉最右端空格

例:
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中就只能插一条,再插就会报主键冲突,各位大侠有啥好的办法,想保留这两条记录又得是主键。。。图片说明图片说明

  • 写回答

2条回答

  • lvzhihong666 2018-12-19 03:38
    关注

    values ('1','2','3 ') 不应该是这样的吗? 你那样写可以吗?感觉怪怪的。

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘