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

这个polardb显示不支持外键是为什么?看文档是支持的。

这个polardb显示不支持外键是为什么?看文档是支持的。ab09d5dea4c19e35e81fda52ff481dd9_.png
61627b9a15dcad55e4087cad0a5e795b_.png
f43cf8913514b1a5b7d52b805a841f0b_.jpg

展开
收起
三分钟热度的鱼 2024-02-28 16:12:32 158 0
4 条回答
写回答
取消 提交回答
  • PolarDB在某些情况下显示不支持外键,这可能是由于以下原因:

    1. 数据类型限制:PolarDB不支持在BLOB和TEXT类型的列上创建外键。这是因为这些数据类型的列通常用于存储大量的非结构化数据,而在这些列上创建外键会极大地影响性能。
    2. 引用列限制:如果外键的引用方式为SET NULL,那么被引用的列(主键)不能是NOT NULL的。这是因为如果一个列不允许NULL值,那么将其设置为可以接收NULL值的外键引用将没有意义。
    3. 外键设置限制:PolarDB不支持创建引用方式为SET DEFAULT的外键。这意味着如果外键引用的列没有明确的值,PolarDB不会自动为其分配默认值。
    4. 索引类型限制:PolarDB不支持全文索引(FULL TEXT)。全文索引通常用于搜索大型文本数据,但在PolarDB中不被支持。
    5. 分区表限制:在创建分区表时,需要使用PARTITION BY语法来创建,而不是通过外键来控制分区。

    总的来说,虽然PolarDB在某些文档中表示支持外键,但在实际使用中可能会遇到一些限制。如果您在使用过程中遇到问题,建议查阅官方文档或联系技术支持以获得更详细的信息和帮助。

    2024-02-29 22:16:11
    赞同 1 展开评论 打赏
  • 阿里云大降价~

    PolarDB在某些情况下显示不支持外键,这可能是由于以下原因:

    1. 数据类型限制:PolarDB不支持在BLOB和TEXT类型的列上创建外键。
    2. 引用列限制:如果外键的引用列为NOT NULL(主键),则不允许引用方式为SET NULL的外键。
    3. 默认值限制:PolarDB不支持创建引用方式为SET DEFAULT的外键。
    4. 生成列限制:不支持在生成列(Stored & Virtual)上创建外键。
    5. 存储过程限制:PolarDB目前不支持存储过程、跨库外键和级联删除。
    6. 分区表限制:在分区表中不支持外键。

    总的来说,尽管PolarDB的文档中提到支持外键,但在实际应用中,由于上述限制条件,可能会遇到不支持外键的情况。如果您在使用过程中遇到问题,建议查阅官方文档以获取更详细的使用说明和限制条件,或者联系技术支持以获得进一步的帮助。

    2024-02-29 19:05:41
    赞同 展开评论 打赏
  • PolarDB确实支持外键功能,但可能由于您使用的具体版本或配置不支持,或者在创建表时未正确设置外键约束。建议您检查数据库版本以及创建外键时的SQL语法是否符合PolarDB的要求。

    2024-02-28 17:07:12
    赞同 展开评论 打赏
  • 参考 https://developer.aliyun.com/ask/592079 此回答整理自微信群“阿里云 PolarDB-X开源交流2号群”

    2024-02-28 17:07:09
    赞同 展开评论 打赏

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

相关电子书

更多
云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
2023云栖大会:PolarDB for AI 立即下载