本文介绍: TiDB支持MySQL传输协议及其绝大多数的语法。这意味着您现有的MySQL连接器客户端可以继续使用。大多数情况下您现有应用可以迁移至 TiDB,无需任何代码修改

TiDB与MySQL兼容性对比

TiDB不支持的MySql特性

自增ID

TiDB 的自增列仅保证唯一,也能保证在单个 TiDB server自增,但不保证多个 TiDB server自增,不保证自动分配的值的连续性,建议不要将缺省值和自定义值混用,若混用可能会收 Duplicated Error错误信息

TiDB 可通过 tidb_allow_remove_auto_inc 系统变量开启或者关闭允许移除列的 AUTO_INCREMENT 属性删除属性语法是:alter table modifyalter table change

TiDB 不支持添加列的 AUTO_INCREMENT 属性移除属性后不可恢复

SELECT 的限制

  • 支持 SELECT … INTO @变量 语法
  • 不支持 SELECT … GROUP BY … WITH ROLLUP 语法。
  • TiDB 中的 SELECT … GROUP BY expr返回结果与 MySQL 5.7 并不一致。MySQL 5.7 的结果等价于 GROUP BY expr ORDER BY expr。而 TiDB 中该语法所返回的结果并不承诺任何顺序,与 MySQL 8.0 的行为一致。

视图

目前TiDB不支持对视图进行UPDATE、INSERT、DELETE等写入操作

默认设置差异

字符集

排序规则

大小写敏感

关于lower_case_table_names配置

参数解释

timestamp类型字段更新

默认情况下,timestamp类型字段所在数据行被更新时,该字段自动更新当前时间,而参数explicit_defaults_for_timestamp控制这一种行为

  • TiDB 默认:ON,且仅支持设置该值为 ON。
  • MySQL 5.7 默认:OFF。
  • MySQL 8.0 默认:ON。
参数解释

外键支持

  • TiDB 默认:OFF,且仅支持设置该值为 OFF。
  • MySQL 5.7 默认:ON。

原文地址:https://blog.csdn.net/u014526891/article/details/134731652

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_24880.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注