跨数据库外键,1215错误

用户名

我试图创建db1表read_x_tag_0列外键db2列下面是我的代码,不确定我做对了吗?它显示1215错误,找不到原因?

数据库“读取”
表“ read_x_tag_0”

CREATE TABLE `read_x_tag_0` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `read_id` int(11) unsigned NOT NULL,
  `tag_0_id` int(11) unsigned NOT NULL,
  `tag_0_sequence` int(11) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `read_id` (`read_id`),
  KEY `tag_0_id` (`tag_0_id`),
  CONSTRAINT `read_x_tag_0_ibfk_1` FOREIGN KEY (`read_id`) REFERENCES `read` (`id`) ON DELETE CASCADE,
  CONSTRAINT `read_x_tag_0_ibfk_2` FOREIGN KEY (`tag_0_id`) REFERENCES `tag_0`.`tag_0` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;



数据库“读取”
表“读取”

CREATE TABLE `read` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `subject` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `intro` text COLLATE utf8_unicode_ci,
  `content` text COLLATE utf8_unicode_ci,
  `sequence` int(11) unsigned NOT NULL,
  `visible` int(11) unsigned NOT NULL COMMENT '1:visible,0:invisible',
  `create_at` datetime NOT NULL,
  `create_by` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `update_at` datetime NOT NULL,
  `update_by` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

数据库“标签_0”
表“标签_0”

CREATE TABLE `tag_0` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `subject` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `visible` int(11) unsigned NOT NULL COMMENT '1:visible,0:invisible',
  `sequence` int(11) unsigned NOT NULL,
  `create_at` datetime NOT NULL,
  `create_by` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `update_at` datetime NOT NULL,
  `update_by` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `subject` (`subject`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
巴尔玛

您不应该将.内部反引号。反引号转义了其中的所有字符,因此不会将其视为数据库名和表名之间的分隔符。它应该是:

REFERENCES `db2`.`tag_0`

在约束中,read_x_tag_0两个约束都使用相同的名称所有约束都必须具有不同的名称,因此请重命名其中之一。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

跨数据库外键,1215错误

来自分类Dev

Laravel 4中的外键跨数据库错误

来自分类Dev

Laravel 4中的外键跨数据库错误

来自分类Dev

教义不会生成跨数据库外键

来自分类Dev

外键中的 Oracle 数据库错误消息

来自分类Dev

教义在MySQL中不生成跨数据库外键约束

来自分类Dev

关系数据库(外键)

来自分类Dev

处理数据库交叉外键

来自分类Dev

外键创建数据库

来自分类Dev

需要外键数据库帮助

来自分类Dev

数据库中的外键

来自分类Dev

数据库多个可能的外键

来自分类Dev

数据库中的外键

来自分类Dev

具有外键约束的关系数据库如何摄取可能顺序错误的数据?

来自分类Dev

MySQL外键错误代码1215

来自分类Dev

错误1215外键无法添加

来自分类Dev

无法添加外键约束错误1215

来自分类Dev

错误1215,无法添加外键约束

来自分类Dev

MySQL 外键约束错误 (1215)

来自分类Dev

MySQL 错误 1215 创建外键

来自分类Dev

什么导致sqlite数据库中的外键不匹配错误

来自分类Dev

Intellij idea / phpstorm数据库UML图外键错误?

来自分类Dev

数据未使用外键插入数据库

来自分类Dev

在数据库中插入外键数据

来自分类Dev

Java使用外键将数据插入数据库

来自分类Dev

MYSQL 5.7错误1215外键+全文键

来自分类Dev

更新MYSQL数据库中的外键时出错,其中选择框中的错误选项数据用于更新外键

来自分类Dev

SQLAlchemy错误查询跨数据库联接

来自分类Dev

用外键ANDROID创建数据库表