1、各个表的外键约束名有同名(Constraint/foreign key names are global to a database, so they cannot be reused in different tables)
2、以该名字命名的表之前创建过后来删除了,但是对应的.frm文件还留在磁盘上
3、主键名字在全数据库范围内不是唯一的
解决方法:检查外键约束名是否有重名的;各个表使用不同的外键约束名
还有一种文件就是 把外键约束 set null 然后删掉啦,可是没有把对应的数据删掉;这个时候又想重新添上外键约束;解决方法是把之前外键约束的数据删掉,然后再添加
具体参照上面的操作来作