今天将数据库的model生成sqlscript导入到数据库时遇到了[Err] 1005 - Can't create table (errno: 121)问题,创建表失败。
查找了一翻,在chinauinx上有一贴子是同样的问题,后面有人回“三年前的帖子, 我今天遇到了. 关闭mysql, 整理一下磁盘. 再开启mysql, 就OK了”;因确实前面创建过一次,因开启了on error continue,所以没有看到错误,但执行的结果是没有创建完整的数据库,所以按照这个方法,停止了mysql服务及所有相关软件,整理磁盘后重启数据库再次执行该脚本本,依然错误。
于是怀疑到外键的问题,把所有外键删除,重新复制sql,执行成功!!
于是原因找到了。因为外键的重复,所以导至了这个原因。
ps: 后来发现,整理磁盘后执行的sql有问题,故,不能确定整理磁盘是无效的,因此可做为备选方案,如果有大N经过,请指点细节。