重新创建

时间:2018-01-27 17:36:31

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

我已经使用tables创建了数据库和所有foreign key constraints,但我在父table中有一列unique并且是复合{{1}的一部分所以我必须key来自所有孩子drop的所有foreign key constraints,然后tables在父dropunique constraint。{/} p>

现在当我将table添加回所有子foreign key constraint时,它会tables error形成错误,尽管我有检查了我的父母和孩子foreign key constraint,他们使用相同的table columnstype和所有人engine相同。但仍然会抛出这个。

当我检查了子unicode的{​​{1}}结构时,它为table定义了tableindex为子foreign key },所以我尝试删除它后仍然column

查询

column foreign key

两个error都是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 NULLdrop对来自孩子index的{​​{1}}和drop ping { {1}}然后将其添加回PRIMARY KEY CONSTRAINT,仍然没有成功。

编辑2

还尝试table dropcolumn的孩子,然后尝试申请VARCHAR(14), NOT NULL,但到目前为止还没有成功。

1 个答案:

答案 0 :(得分:0)

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