首页 > 解决方案 > Oracle同步中的Varchar(20字节)到Mysql varchar(20)?

问题描述

我们使用 Symmetrics 将 Oracle 数据库同步到 Mysql。我的同事在 Oracle 中将一列更改为 Varchar2(20 字节)。我在 Mysql (MariaDB) 中将同一列设置为 varchar(5)。我不知道 Oracle 中的更改,并且同步失败的频率比更改之前要多。

这是否可能导致同步失败?我无法访问同步,所以我只能猜测。

第二个问题是如何更改 MySQL 数据库中的 varchar 以适应 Oracle 中的更改?可以使用此命令将其更改为 varchar(20) 还是需要更大?:

alter table table_name set column col_name varchar (20);

(Mysql ver. 15.1. Distrib 10.1.38-MariaDB)

谢谢

标签: mysqloraclemariadb

解决方案


语法是

ALTER TABLE t MODIFY COLUMN ...
              ------

在 MySQL 和 MariaDB 中,varchar(5)最多允许 5 个字符。如果CHARACTER SET是 utf8mb4,那么可能会消耗多达 4*5=20个字节。(我不知道 Oracle 的解释。我对 Symmetrics 也一无所知。)


推荐阅读