---
title: 添加外键时报错，错误代码 ERROR 1215-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 添加外键时报错，错误代码 ERROR 1215相关的常见问题和使用技巧，帮助您快速解决 添加外键时报错，错误代码 ERROR 1215的难题。
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# 添加外键时报错，错误代码 ERROR 1215

更新时间：2023-12-07 03:16

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x、V4.0.x、V4.1.x、V4.2.x 内容类型：Troubleshoot  

本文介绍 OceanBase 数据库 MySQL 模式下添加外键时报 `ERROR 1215` 错误的处理方法。

## 问题现象

为 `cust` 表创建外键约束时，显示关联字段错误。

```sql
obclient> ALTER TABLE cust ADD CONSTRAINT c_fk FOREIGN KEY (c_w_id) REFERENCES ware(w_name);
ERROR 1215 (HY000): Cannot add foreign key constraint

```

该报错信对应的错误码信息如下：

- 错误码：ERROR 1215
 - OceanBase 错误码：5317
 - 兼容 MySQL 错误码：1215

## 可能原因

- 添加外键约束时，如果外键的字段与关联字段的类型不匹配时，系统就会报错。
 - 添加外建时，被引用的父表的列不是主键或者唯一索引，系统就会报错。

## 解决方法

请参考以下步骤，查看当前表与关联表中各字段类型，确认关联表的主键后，再重新创建外键约束。

1. 查看 `ware` 和 `cust` 表的表结构，并找到关联表的主键。

   ```shell
   obclient> DESC ware;
   +--------+--------------+------+-----+---------+-------+
   | Field  | Type         | Null | Key | Default | Extra |
   +--------+--------------+------+-----+---------+-------+
   | w_id   | int(11)      | NO   | PRI | NULL    |       |
   | w_name | varchar(256) | YES  | UNI | NULL    |       |
   | w_city | varchar(256) | YES  | UNI | NULL    |       |
   +--------+--------------+------+-----+---------+-------+
   3 rows in set

   obclient> DESC cust;
   +--------+---------+------+-----+---------+-------+
   | Field  | Type    | Null | Key | Default | Extra |
   +--------+---------+------+-----+---------+-------+
   | c_id   | int(11) | NO   | PRI | NULL    |       |
   | c_w_id | int(11) | YES  |     | NULL    |       |
   +--------+---------+------+-----+---------+-------+
   2 rows in set

   ```
 2. 重新创建表 `cust` 的外键约束。

   ```shell
   obclient> ALTER TABLE cust ADD CONSTRAINT c_fk FOREIGN KEY (c_w_id) REFERENCES ware(w_id);
   Query OK, 0 rows affected

   ```

上一篇

[DDL 语句添加外键错误，错误代码 1235](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000067)

下一篇

[添加外键时报错，错误代码 ORA-00600](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000217894) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
