MySql&;Sqlalchemy-并非所有外键都可见
MySql工作台中我的一个表的外键列表为空。当我尝试添加缺少的FK时,我得到了此结构的错误:MySql&;Sqlalchemy-并非所有外键都可见,mysql,sqlalchemy,foreign-keys,Mysql,Sqlalchemy,Foreign Keys,MySql工作台中我的一个表的外键列表为空。当我尝试添加缺少的FK时,我得到了此结构的错误: Executing: ALTER TABLE <schema>.<table> ADD INDEX <index_name> (<column_name> ASC); ALTER TABLE <schema>.<table_name> ADD CONSTRAINT <constraint_name> FOREIGN
Executing:
ALTER TABLE <schema>.<table>
ADD INDEX <index_name> (<column_name> ASC);
ALTER TABLE <schema>.<table_name>
ADD CONSTRAINT <constraint_name>
FOREIGN KEY (<column_name>)
REFERENCES <schema>.<ref_table_name> (<ref_column_name>)
ON DELETE CASCADE
ON UPDATE CASCADE;
Operation failed: There was an error while applying the SQL script to the database.
ERROR 1452: Cannot add or update a child row: a foreign key constraint fails (<schema>.`#sql-49f_6`, CONSTRAINT <constraint_name> FOREIGN KEY (<column_name>) REFERENCES <ref_table_name> (<ref_column_name>) ON DELETE CASCADE ON UPDATE CASCADE)
SQL Statement:
ALTER TABLE <schema>.<table_name>
ADD CONSTRAINT <constraint_name>
FOREIGN KEY (<column_name>)
REFERENCES <schema>.<ref_table_name> (<ref_column_name>)
ON DELETE CASCADE
ON UPDATE CASCADE
有了以上这些,有人能提出解决方案吗
最好不必重新创建数据库;因为,我需要维护表中包含的数据 我无法找到上述问题的根源。
由于需要解决方案,我暂时脱机存储了有问题的表所包含的数据,然后从头开始重新创建它。在这一步中,我还添加了外键缺失。这个问题没有持续下去。很抱歉,我无法说明最初出现的问题。我无法找到上述问题的根源。 由于需要解决方案,我暂时脱机存储了有问题的表所包含的数据,然后从头开始重新创建它。在这一步中,我还添加了外键缺失。这个问题没有持续下去。很抱歉,我无法解释最初的错误
SELECT *
FROM
information_schema.KEY_COLUMN_USAGE
WHERE
constraint_schema = <schema> AND table_name = <table_name> AND
referenced_table_name IS NOT NULL;
TableName = Table(<table_name>,
table_base.metadata,
Column(
<column_name_1>,
Integer(),
ForeignKey('<ref_table_name>.<ref_column_name>', onupdate='CASCADE', ondelete='CASCADE'),
nullable=False
),
Column(
<column_name_2>,
Integer(),
ForeignKey('<ref_table_name_2>.<ref_column_name_2>', onupdate='CASCADE', ondelete='CASCADE'),
nullable=False
)
)