foreign key 不能添加常见原因:1.检查是否指向的键是主键。2.检查是否已经建立了索引,一个外键必然会有一个索引。3.检查是否表内已经存有数据,导致约束失败4.检查被参考键和参考键的类型是否相同5.检查是否重建了同名的索引,比如第一次建立失败,再次建立可能会因为索引重复导致失败6.检查是否在键上设置了unsigned。