1.数据库的配置情况
数据库mysql 8
字符编码集utf8mb4
COLLATE:utf8mb4_0900_ai_ci
2.建表语句
CREATE TABLE test
(
MANDT
VARCHAR(3) NOT NULL COMMENT ‘测试字段1’,
MATNR
VARCHAR(18) NOT NULL COMMENT ‘测试字段2’,
WERKS
VARCHAR(4) NOT NULL COMMENT ‘测试字段3’,
PRIMARY KEY (MANDT
,MATNR
,WERKS
)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT=‘测试表’
3.插入数据
1,testP(01-9),1 ok
1,testP(01-9),1 error
报1062错误,主键冲突testP(01-9)括号为中文
分析原因:是由于COLLATE导致的,不要
修改方法2中
第一种办法创建表添加 BINARY 关键字
CREATE TABLE test
(
MANDT
VARCHAR(3) BINARY NOT NULL COMMENT ‘测试字段1’,
MATNR
VARCHAR(18) BINARY NOT NULL COMMENT ‘测试字段2’,
WERKS
VARCHAR(4) BINARY NOT NULL COMMEN