ERROR:can't create table './*** .frm' (errno:121)
这个在网上查了一下,解决方法,都是说存储空间错误,drop后create,无效。
后仔细检查发现是PowerDesigner自动生成mysql的sql语句的时候产生错误。
在pd中建立Physical Data Model的Table,其中在Column Properties的Standard Checks选项中,Default选择的默认值,在生成sql语句的时候直接翻译了,如,在此选择autoincrement,那么生成sql的时候,在对应的字段后面生成如下类似格式,“id int not null default autoincrement”,明显这个错误,应该是“id int not null auto_increment”。
另外,还有一个powerDesigner的关于创建index的bug。
错误:
当我用mysql4.0时发现生成的代码在导入到mysql里出错,最终发现是如下行引起的
create index Reference_7_FK
(
account_id
);
当然这个是错的.我们只能修改这个bug了.
修改方法:
1.打开 PowerDesigner 12\Resource Files\DBMS\mysql40xdb文件
找到:
/*==============================================================*/
/* Index: "%referenceCode%_FK" */
/*==============================================================*/
create index %referenceCode%_FK
(
%fkColumns%
);
修改为:
/*==============================================================*/
/* Index: "%referenceCode%_FK" */
/*==============================================================*/
create index %referenceCode%_FK on %TABLE%(%fkColumns%);