powerDesigner 导出mysql的sql脚本,且包含注释 | 您所在的位置:网站首页 › 怎么把脚本导入修改器里面的文件 › powerDesigner 导出mysql的sql脚本,且包含注释 |
powerDesigner 导出mysql的sql脚本,且包含注释
为了和项目原有的数据库设计工具保持一致,近期使用了powerDesigner碰到了一些使用问题,汇总记录,希望对你有所帮助. 软件环境情况 powerDesigner16.5.5.2(4734)mysql 5.6.30Win10专业版 powerdesigner 16.5 生成的sql语句在mysql数据库无法成功执行用pd导出的sql,默认无法正常执行会报错 [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'comment on table TB_PAYOUT_APPLY_UNIQUE is '结汇申请防重表'' at line 1默认导出的sql为: # 为了减少篇幅,减少了部分字段注释 create table TB_PAYOUT_APPLY_UNIQUE ( SRC_MERCHANT_ID varchar(32) not null, MER_ORDER_NO varchar(64) not null, UNION_TIME datetime not null, PAYOUT_SEQNO varchar(64) not null, GMT_CREATE datetime null ); comment on table TB_PAYOUT_APPLY_UNIQUE is '结汇申请防重表'; comment on column TB_PAYOUT_APPLY_UNIQUE.SRC_MERCHANT_ID is '交易来源商户号'; create index TB_PAYOUT_UNIQUE_IDX on TB_PAYOUT_APPLY_UNIQUE ( PAYOUT_SEQNO ASC );comment on column TB_PAYOUT_APPLY_UNIQUE.MER_ORDER_NO is '外部订单号'; 在mysql下是无法直接执行 mysql的单字段修改,使用alter table方法 ALTER TABLE table_name MODIFY COLUMN column_name TINYINT(tinyint表示column类型) COMMENT '-1:默认值,1:人员id,2:公司id';这种写法必须要指定 字段类型:TINYINT(tinyint表示column类型)否则会报错. 那么需要修改sql的注释修改. 列注释修改 在Database–>edit Current DBMS… 设置dbms的属性,找到script–>objects–>column–>add 在原来的内容后添加 [ comment %.q:COMMENT%]]注意去掉一个] 原来的内容为: %20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%? unsigned][%ZeroFill%? zerofill][ [.O:[character set][charset]] %CharSet%][.Z:[ %NOTNULL%][%IDENTITY%? auto_increment:[ default %DEFAULT%]][ comment %.q:@OBJTLABL%]] 添加后的内容为:%20:COLUMN% %30:DATATYPE%[.Z:[%Compressed%? compressed][ %NULLNOTNULL%][%IDENTITY%?[.O:[ default autoincrement][ identity]]:[%COMPUTE%? compute (%COMPUTE%):[ default %DEFAULT%]]] [%CONSTDEFN%][ comment %.q:COMMENT%]] 把script–>objects–>column–>ColumnComment的Value清空 . 表注释修改 在Database–>edit Current DBMS… 设置dbms的属性 找到script–>objects–>Table–>TableComment: value中 修改后内容为 :alter table [%QUALIFIER%]%TABLE% comment %.60qA:COMMENT% 去掉主键注释 在Database–>edit Current DBMS… 设置dbms的属性,找到script–>objects–>Pkey–>PKeyComment 清空Value值, 如需要注释则修改其格式其它修改 调整导出sql的编码格式 database–>Generate Database–>Format Encoding :UTF-8 点击确定 调整后的sql create table TB_OCEAN_PAYOUT_BILL_RELATION ( SRC_MERCHANT_ID varchar(32) not null comment '交易来源商户号', MER_ORDER_NO varchar(64) not null comment '外部订单号', PAYOUT_SEQNO varchar(64) not null comment '结汇交易流水号', OCEAN_PAY_BILL_NO numeric(16,0) null comment '跨境支付单号', DT_CREATE datetime null, constraint PK_TB_OCEAN_PAYOUT_BILL_RELATI primary key clustered (SRC_MERCHANT_ID, MER_ORDER_NO) ); alter table TB_OCEAN_PAYOUT_BILL_RELATION comment '结汇申请支付单关联表'; PowerDesigner如何导出SQL?第一种方式,导出多条: 选择菜单栏上Database更改当前数据库类型>>Change Current DBMS 按钮将当前的DBMS更改成需要的DBMS(如果用的就是当前的mysql5.0就无需更换)选择Database菜单栏下 >>Generate Database设置导出.sql名字和路径. 更改当前数据库类型>>Change Current DBMS 按钮 将当前的DBMS更改成需要的DBMS(如果用的就是当前的mysql5.0就无需更换) 也可以选择需要导出的表 Generate Database-> Selection第二种,导出单表: 选中表 右键选择 sql Preview,如下图所示 其它pd使用的一些方式 PowerDesigner 导出表结构 到Excelpowerdesigner 为字段添加注释和最大、最小、默认值、非空约束powerdesigner 大小写转换 参考文档MySql 修改列的注释信息的方法 powerDesigner 正向工程生成sql注释问题 (mysql注释问题) 如果觉得文章对您有用,可以关注我的公众号 程序和猫 , 更加方便的交流. |
CopyRight 2018-2019 实验室设备网 版权所有 |