开发者社区 > PolarDB开源 > PolarDB 分布式版 > 正文

rds版本的mysql5.7可以创建aa-bb-cc这种带横杠的库名,polardb-x2.0的my

rds版本的mysql5.7可以创建aa-bb-cc这种带横杠的库名,polardb-x2.0的mysql5.7无法创建aa-bb-cc这种带横杠的库名,请问如何解决?

展开
收起
真的很搞笑 2023-04-18 08:08:54 450 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在 Polardb-x2.0 的 MySQL 5.7 版本中,由于库名规则的变更,不能创建带有横杠的库名。这是因为库名规则和表名规则在 Polardb-x2.0 中发生了变化,库名和表名中不能包含下划线(_),因为下划线在 Polardb-x2.0 中已经被作为标识符分隔符使用。

    如果您需要在 Polardb-x2.0 中创建带横杠的库名,可以考虑以下两种解决方案:

    1. 使用下划线替换横杠,例如将库名 aa-bb-cc 替换为 aa_bb_cc

    2. 将 Polardb-x2.0 的 MySQL 5.7 版本升级到 MySQL 8.0 或者 Aurora MySQL 2.0 及以上的版本,这些版本已经支持库名和表名中包含下划线和横杠。

    2023-04-30 12:41:38
    赞同 展开评论 打赏
  • 推荐 aa_bb_cc,此回答整理自钉群“阿里云 PolarDB-X 开源交流群”

    2023-04-19 07:59:41
    赞同 展开评论 打赏
  • 在MySQL中,数据库名称采用的是标识符命名规则。然而,在标识符命名规则中,有一些字符是特殊字符,例如横杠-等。这些特殊字符在不同的MySQL版本中可能存在差异,有些版本可以支持使用这些特殊字符来命名数据库,而有些版本则不支持。

    在你提到的情况中,RDS版本的MySQL5.7可以支持创建带横杠的数据库名称,而Polardb-X2.0的MySQL5.7却不支持。这是由于这两种数据库产品的实现方式不同导致的。

    如果你必须在Polardb-X2.0的MySQL5.7中创建带横杠的数据库名称,可以考虑使用反引号来将其转义。例如,你可以使用如下方式创建名为aa-bb-cc的数据库:

    CREATE DATABASE aa-bb-cc; 在MySQL中,反引号可以用来将特殊字符转义,使其作为标识符被正确地解析。这样,你就可以在Polardb-X2.0的MySQL5.7中创建带横杠的数据库名称了。需要注意的是,在使用反引号的时候,一定要保证反引号的使用是正确的,否则可能会导致语法错误。

    2023-04-18 08:43:13
    赞同 展开评论 打赏

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。

相关产品

  • 云原生分布式数据库 PolarDB-X
  • 相关电子书

    更多
    TcpRT:阿里云RDS智能诊断系统云上大规模部署自动化服务的客户实践经验 立即下载
    TcpRT:面向大规模海量云数据库的服务质量实时采集与诊断系 立即下载
    袋鼠云基于阿里云RDS的数据库架构实践 立即下载

    相关镜像