MySQL Schema完整性检查

时间:2017-10-12 07:06:05

标签: mysql

使用FOREIGN_KEY_CHECKS=0

将MySQL架构上传到服务器

现在我想检查所有外表的存在。 有没有办法自动检查所有架构的完整性?

1 个答案:

答案 0 :(得分:1)

来自文档Create Table Foreign Keys

  

但是,即使foreign_key_checks = 0,MySQL也不允许   创建列引用a的外键约束   不匹配的列类型。

因此,如果约束存在,那么表和匹配的列也将是。

您可以从information_schema中获取此信息。

e.g。

SELECT CONCAT(`table_name`, '.', `constraint_name`, ' -> ',
`referenced_table_name`, '.' , `unique_constraint_name`) 'table a.constraint -> table b.key' 
FROM `information_schema`.`referential_constraints`
WHERE `constraint_schema` = 'dbname';