无法添加外键约束-无法解析错误的表名

时间:2019-06-10 10:06:11

标签: mysql sql foreign-keys

尝试在MySQL数据库中创建外键约束时出错。

注意:我的问题似乎与:MySQL Foreign Key - Cannot Resolve Table Name Close TO相似。但是,此问题的解决方案不适合我的问题,因为我的表名和列名没有交换。

MySQL版本:5.7

我有一个名为gds的表:

DESCRIBE gds;
+--------------------+----------------------+------+-----+---------+----------------+
| Field              | Type                 | Null | Key | Default | Extra          |
+--------------------+----------------------+------+-----+---------+----------------+
| id                 | int(10) unsigned     | NO   | PRI | NULL    | auto_increment |
| created_at         | timestamp            | YES  |     | NULL    |                |
| updated_at         | timestamp            | YES  |     | NULL    |                |
| name               | varchar(255)         | NO   |     | NULL    |                |
| logo               | varchar(255)         | NO   |     |         |                |
+--------------------+----------------------+------+-----+---------+----------------+

我创建了一个名为super_valuations的新表:

DESCRIBE super_valuations;
+--------------+------------------+------+-----+---------+----------------+
| Field        | Type             | Null | Key | Default | Extra          |
+--------------+------------------+------+-----+---------+----------------+
| id           | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| created_at   | timestamp        | YES  |     | NULL    |                |
| updated_at   | timestamp        | YES  |     | NULL    |                |
| gds_id       | int(10) unsigned | YES  |     | NULL    |                |
| name         | varchar(255)     | NO   |     |         |                |
+--------------+------------------+------+-----+---------+----------------+

现在,我想在super_valuations.gds_idgds.id之间创建一个外键。

我尝试了以下命令:

ALTER TABLE `super_valuations` 
ADD CONSTRAINT `super_valuations_gds_id_foreign` 
FOREIGN KEY (`gds_id`) 
REFERENCES `gds` ( `id` );

这会导致错误:

  

错误1215(HY000):无法添加外键约束

我尝试运行SHOW ENGINE INNODB STATUS;,而LATEST FOREIGN KEY ERROR部分返回:

  

最新外键错误

     

2019-06-10 10:02:53 0x7f93a0564700表dbname /#sql-1_401的外键约束错误:   外键(gds_id)参考gdsid):   无法解析接近以下名称的表名:   (id

老实说,我无法理解问题。表gds 存在(我可以运行select * from gds)。我的命令中有语法问题吗?

0 个答案:

没有答案