【问题标题】:mysql FOREIGN KEY CONSTRAINT failing when recreatingmysql FOREIGN KEY CONSTRAINT 重新创建时失败
【发布时间】:2018-01-27 17:36:31
【问题描述】:

我已经创建了数据库和所有tablesforeign key constraints,但我在父table 中有一个列unique 并且是复合key 的一部分,所以我必须drop所有foreign key constraints 来自所有子tables,然后dropped 父unique constraint 上的unique constraint

现在,当我将 foreign key constraint 添加回所有子 tables 时,它给出了 errorforeign key constraint 的格式不正确,尽管我已经检查了我的父母和孩子 @987654337 @ 并且它们是相同的 type 使用相同的 engineunicode 和所有。但这仍然被抛出。

当我检查子tabletable 结构时,它有一个为foreign key 定义的index 并且column 是子column foreign key,所以我在删除它后尝试了,但仍然是@987654347 @。

查询

ALTER TABLE `child_table` ADD CONSTRAINT FOREIGN KEY `fk_parent_table_child_table_column_name` (child_table_column_name) 
REFERENCES `parent_table`(parent_table_column_name) ON DELETE RESTRICT ON UPDATE NO ACTION;

columns 都是 VARCHAR PRIMARY KEY and NOT NULL

如果需要更多信息,请询问。

编辑

到目前为止,我已经尝试从子 tabledropping column dropped indexdropped PRIMARY KEY CONSTRAINT column 然后将其添加回 VARCHAR(14), NOT NULL,仍然没有成功。

编辑 2

还尝试在primary keyadd孩子column,然后尝试申请foreign key constraint,目前没有成功。

【问题讨论】:

  • 是的,我已经尝试了几种解决方案,但都没有奏效,我不想让我的专栏独一无二,因为我做了所有这些都是因为它
  • 你能显示两个表的确切列定义吗?
  • 我已经提过了
  • 我说确切,我认为您的专栏不会只是varchar。复制粘贴在这里

标签: php mysql database foreign-keys composite-primary-key


【解决方案1】:

由于没有人回答并且我找不到解决问题的方法,我不得不删除子外键,然后删除父复合键,以便删除父列 VARCHAR(14),然后再次创建具有新主键的外键。

【讨论】:

    猜你喜欢
    • 2014-01-02
    • 2018-10-11
    • 2020-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多