【系统版本 & kernel 版本】
CentOS Linux release 7.6.1810 (Core)
4.20.10-1.el7.elrepo.x86_64
- 【TiDB 版本】
3.0.5
CentOS Linux release 7.6.1810 (Core)
4.20.10-1.el7.elrepo.x86_64
3.0.5
在 3.0.5 版本测试后,和 MySQL 的行为不一致:
mysql> show create table studentG
*************************** 1. row ***************************
Table: student
Create Table: CREATE TABLE student
(
id
int(11) DEFAULT NULL,
name
varchar(10) DEFAULT NULL,
age
int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
我这边跟研发的同学确认下~~
语法上支持,实际在使用时是不支持的,还是区分大小写~~~
如果考虑在实际使用中支持这个排序规则的话,大概要多久?
确认了下,咱们暂时没有计划~~~
看到次消息有些失望
这类问题可以考虑使用upper lower之类的函数统一一下,以后的版本会考虑加入,多谢
关注该问题,我们业务定的需要大小写不敏感查询数据,业务逻辑进行处理还是很麻烦的
可以关注 TiDB 4.0 版本,在 4.0 版本将会支持 utf8mb4_general_ci,4.0 RC 版本已发布,并且已支持 utf8mb4_general_ci,欢迎测试。详细信息可以关注下(release node 文档描述的有些问题,已在修复中
) :
https://pingcap.com/docs-cn/stable/releases/4.0.0-rc/#新功能
https://github.com/pingcap/docs-cn/pull/2606
TiDB 最新动态敬请期待,感谢关注~~
666个赞
哈哈终于等到了
我们正在进行捉虫竞赛,可以参与一下,把测试 CI Collation 过程中发现的问题提到捉虫竞赛中,赚取积分拿 TUG 卫衣、蓝宝书、PCTA 考试券等
tidb 4.0
sql_mode:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
insert into test.test VALUES (1,‘SD’,‘0000-00-00 00:00:00’); insert into test.test VALUES (2,‘sD’,‘0000-00-00 00:00:00’); insert into test.test VALUES (3,‘LD’,‘0000-00-00 00:00:00’); insert into test.test VALUES (4,‘lD’,‘0000-00-00 00:00:00’);
select * from test.test;
3 LD 0000-00-00 00:00:00
1 SD 0000-00-00 00:00:00
4 lD 0000-00-00 00:00:00
2 sD 0000-00-00 00:00:00
select * from test.test where name = 'sd';
null
1.只有排序,不能查询? 2.NO_ZERO_IN_DATE、NO_ZERO_DATE没用?
你好,
请提供下表结构
id int name varchar(20) time datetime
建表语句指定utf8mb4_general_ci
目前在路上,具体建表语句待会发出来
CREATE TABLE test
(
id
int(11) NOT NULL,
name
varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
time
datetime DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
好的,正在分析,稍等