问题:
由于外键约束的存在,使得后期的分库分表非常麻烦,对于没有用到外键约束限制操作,并且有外键结构的数据库,删除所有外键约束很有必要,使数据库可移植性强,可拆解性强
步骤:
- 执行查询所有外键命令,并且拼接删除外键的sql
- 复制所有sql,并执行
具体sql代码
SELECT CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' DROP FOREIGN KEY ',CONSTRAINT_NAME,' ;')
FROM information_schema.TABLE_CONSTRAINTS c
WHERE c.TABLE_SCHEMA='库名' AND c.CONSTRAINT_TYPE='FOREIGN KEY';
# 查询的结果复制到下方继续执行
# 例如:
ALTER TABLE tjaurjcompany.dsb DROP FOREIGN KEY FK_DSB_RELATIONS_YGB ;
复制如上命令执行即可