兼容性判定
公开资料依据 · 建议 PoC 复核支持度partial
严重度critical
置信度medium
依据规则my.ddl.foreign_key
怎么改
按目标能力保留/删约束并补应用校验或异步一致性
判定说明
openGauss 行存表支持 FOREIGN KEY 与引用动作,列存、索引和锁行为仍有约束;结论为 doc_based 草案,建议在 B 库做 PoC 复核
库侧 / 应用侧路径
库侧改造
可行:支持时重建并验证存量;不支持时改校验任务
应用侧改造
可行:写路径补引用完整性和级联逻辑
推荐路线:case_by_case。验证建议:存量孤儿、级联更新删除、并发写与延迟校验回归
规则样例
CREATE TABLE child (pid INT, FOREIGN KEY(pid) REFERENCES parent(id))
ALTER TABLE child ADD CONSTRAINT fk_p FOREIGN KEY(pid) REFERENCES parent(id) ON DELETE CASCADE
CREATE TABLE child (pid INT, KEY(pid))
参考来源
相关改造点
- MYSQL → opengauss 6.0 B 模式 全部改造点
- opengauss 6.0 B 模式 兼容性总览
- MYSQL 迁移国产库总览
- MYSQL GET_LOCK / RELEASE_LOCK 咨询锁函数 迁移 opengauss 6.0 B 模式 怎么改
- MYSQL ALTER TABLE ALGORITHM= / LOCK= 在线 DDL 子句 迁移 opengauss 6.0 B 模式 怎么改
- MYSQL ALTER TABLE 增删主键限制 迁移 opengauss 6.0 B 模式 怎么改
- MYSQL AUTO_INCREMENT 自增列 迁移 opengauss 6.0 B 模式 怎么改
- MYSQL 表/列级 CHARSET 与 COLLATE 子句 迁移 opengauss 6.0 B 模式 怎么改
- MYSQL CHECK 约束执行与静默忽略差异 迁移 opengauss 6.0 B 模式 怎么改