当前位置: 首页 > news >正文

民航电子数据库:mysql与cae建表语法差异

目录

    • 一、场景
    • 二、语法差异


一、场景

1、使用CAEMigrator-1.0.exe将mysql数据库迁移至cae数据库时,迁移速度非常慢,而且容易卡死(可能是部署cae数据库的服务器资源不足导致)

2、所以将mysql数据库导出为sql脚本,通过CAEManager-V1.0.exe工具进行sql脚本导入

3、但mysql的语法与cae的语法是有差异的,需要调整sql脚本语法


二、语法差异

使用SQL脚本导入数据时,SQL脚本不能有注释,否则导入会失败,可以在notepad++使用^.*-- .*\r?\n来去除注释行无法在创建表的时候添加普通约束
KEY `ACT_FK_BYTEARR_DEPL` (`DEPLOYMENT_ID_`)	==》	删除这一行
CONSTRAINT `ACT_FK_BYTEARR_DEPL` CHECK(`DEPLOYMENT_ID_`)	==》	删除这一行
INDEX `FK_Reference_2`(`BusiFirCode`) USING BTREE	==》	删除这一行
UNIQUE INDEX `IX_T_3RDAUTH_AuthToken`(`AuthorizerAppid`)	==》	删除这一行
FULLTEXT INDEX `idx_Address`(`Cus_Address`)	==》	删除这一行只能在表创建成功之后添加
-- Alter Table Add ForeignKey Constraint --
alter table ICIP6_BAK.ACT_GE_BYTEARRAY add constraint ACT_FK_BYTEARR_DEPL foreign key(DEPLOYMENT_ID_) references ICIP6_BAK.ACT_RE_DEPLOYMENT(ID_) on update restrict on delete restrict;
-- Create Table Index --
create index "ACT_FK_BYTEARR_DEPL" on ICIP6_BAK.ACT_GE_BYTEARRAY("DEPLOYMENT_ID_") indextype is btree global ;创建表时指定自增主键值
AUTO_INCREMENT = 54		==》		删掉
`id` Integer NOT NULL AUTO_INCREMENT,		==》		`id` Integer IDENTITY(54,1) NOT NULL,
注意:identity(1,1)要紧跟在Int或integer后自动更新日期
`DEPLOY_TIME_` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP		==》		`DEPLOY_TIME_` timestamp AUTO UPDATE日期不支持'0000-00-00 00:00:00'设置默认值
1、删掉默认值:`InitializeTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '初始化时间'		==》		`InitializeTime` datetime NOT NULL COMMENT '初始化时间'
2、替换默认值:`InitializeTime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '初始化时间'		==》		`InitializeTime` datetime NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT '初始化时间'按范围分区
PARTITION BY RANGE COLUMNS (`InitializeTime`)
PARTITIONS 240
(PARTITION `p201101` MAX_ROWS = 0 MIN_ROWS = 0,
(PARTITION `p201102` MAX_ROWS = 0 MIN_ROWS = 0)替换成以下写法PARTITION BY RANGE (`InitializeTime`) INTERVAL 1 MONTH			-- INTERVAL 1 MONTH是按月进行分区
PARTITIONS(part1 VALUES LESS THAN('2011-01'),part2 VALUES LESS THAN('2011-02'))创建表时不能指定数据库引擎及字符编码
ENGINE = InnoDBDEFAULT CHARSET=utf8、COLLATE=utf8_bin、CHARSET utf8、COLLATE utf8_bin		==》	删除这些声明不支持ROW_FORMAT
ROW_FORMAT = COMPACT		==》		删掉不支持UNSIGNED
UNSIGNED		==》		删掉不支持USING BTREE
USING BTREE		==》		删掉不支持zerofill
zerofill		==》		删掉不支持CHARACTER
varchar(50) CHARACTER		==>		varchar(50)不支持“SET utf8”
SET utf8		==》		删掉创建表如果进行分区,不能使用sql脚本导入功能,但可以放到工具CAEManage里边执行不支持MEDIUMTEXT、longtext,使用clob代替
MEDIUMTEXT		==》		clob
longtext		==》		clob不支持longblob、mediumblob,使用blob代替
longblob		==》		blob表描述格式调整,去掉=号,如:
comment='按下VDN设置的取消ACD排队的DTMF键后,需进行'  ==> comment '按下VDN设置的取消ACD排队的DTMF键后,需进行'插入blob、clob数据
1、manager只支持手动插入blob
2、在console用下面的语法
create table test(a blob);
insert into test values(?); <# C:\t1.png;二进制数据不能直接insert,得使用上面那种语法插入
0x00000000000000000000000000000000000000000000000000000000		==》		删掉
数据流不能直接insert,得使用上面那种语法插入
0x63657368695F3120E5A484E79086E5AE8CE68890EFBC8CE8AFB7E5AEA1E689B9E38082		==》		删掉不支持double(10, 2)
double(10, 2)		==double不支持tinyint(4)
tinyint(4)		==》		tinyint不支持bigint(4)
bigint(4)		==》		bigint不支持smallint(4)
smallint(4)		==》		smallint不支持int(4)
int(4)		==int不支持bit(1)
bit(1)		==boolean不支持bit(m),m > 1
bit(m)		==BINARY插入bit类型时,需要把字符b去掉
INSERT INTO `xxx` VALUES (b'0');		==INSERT INTO `xxx` VALUES ('0');
http://www.lryc.cn/news/323033.html

相关文章:

  • (学习日记)2024.03.15:UCOSIII第十七节:任务的挂起和恢复
  • 聚类分析 | Matlab实现基于NNMF+DBO+K-Medoids的数据聚类可视化
  • Unity类银河恶魔城学习记录11-3 p105 Inventory UI源代码
  • Vue3 + Vite + ts引入本地图片
  • 图斑或者道路如何单独显示名称在图斑上或者道路上
  • docker 修改默认存储位置
  • Springboot+vue的医疗挂号管理系统+数据库+报告+免费远程调试
  • 【Effective C++】39 明智而审慎地使用private继承
  • 2024年卫生巾行业市场分析报告(京东天猫淘宝线上卫生巾品类电商数据查询)
  • MySQL之表的记录操作
  • 一种动态联动的实现方法
  • kotlin中使用ViewBinding绑定控件
  • 知识积累(五):Transformer 家族的学习笔记
  • [Java、Android面试]_13_map、set和list的区别
  • Linux进程管理:(六)SMP负载均衡
  • 计算机专业学生的成长之路:超越课堂的自我提升策略
  • 财报解读:“高端化”告一段落,华住开始“全球化”?
  • Wifi环境下Unity开发iOS应用启动后HTTPS请求未弹出是否允许无线数据使用数据的弹窗
  • 数据结构的概念大合集03(栈)
  • C++ 哈希表
  • C++之继承详解
  • C#装箱和拆箱
  • 企业用大模型如何更具「效价比」?百度智能云发布5款大模型新品
  • linux 外部GPIO Watchdog驱动适配
  • 活动回顾 | 走进华为向深问路,交流数智办公新体验
  • 【Java】Oracle发布Java22最新版本
  • Vue reactive函数的使用
  • unity自动引用生成
  • 【Linux系统】线程互斥与同步
  • 武汉星起航引领跨境电商新潮流,深耕亚马逊打造全方位合作新模式