首批通过分布式安全可靠测评,为关键业务系统打造
MySQL 租户 foreign key 不支持非唯一键
更新时间:2026-05-21 01:56
在 MySQL 创建外建时,不是唯一值的列也可以添加,但是同样的表结构在 OceanBase 数据库的 MySQL 租户会报错。
MySQL 建表,过程不报错。
<MySQL>create table f1(id int,key idx_id(id));
Query OK, 0 rows affected (0.09 sec)
<MySQL>create table f2(id int ,foreign key fk_id(id) references f1(id));
Query OK, 0 rows affected (1.12 sec)
OceanBase 数据库的 MySQL 租户建表,报错 ERROR 1215 (HY000): Cannot add foreign key constraint。
MySQL [obmysql]> create table f1(id int,key idx_id(id));
Query OK, 0 rows affected (0.14 sec)
MySQL [obmysql]> create table f2(id int ,foreign key fk_id(id) references f1(id));
ERROR 1215 (HY000): Cannot add foreign key constraint
说明
- MySQL 租户的 foreign key 不支持非唯一键,提示外建有问题无法添加时,请检查是否该列值是唯一的。
- Oracle 租户也有同样的限制。
适用版本
OceanBase 数据库 V2.x、V3.x、V4.x 版本。