mysql - 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)
谢谢
解决方案
语法是
ALTER TABLE t MODIFY COLUMN ...
------
在 MySQL 和 MariaDB 中,varchar(5)
最多允许 5 个字符。如果CHARACTER SET
是 utf8mb4,那么可能会消耗多达 4*5=20个字节。(我不知道 Oracle 的解释。我对 Symmetrics 也一无所知。)
推荐阅读
- angular - Angular 6 + SASS 文件夹结构
- php - 从 dir 获取所有图像并使用 php 两两排序
- azure - 使用 Graph API 将 AD 组分配给 Azure AD 应用程序角色
- php - 为什么我得到数组 foreach 循环?
- vue.js - 我部署的 Vue 应用程序在本地工作,但不在远程服务器上
- php - PHP - 从保存的下拉列表中获取值
- mysql - 使用 order by 时条件选择查询不起作用
- r - 在小标题中查找所选变量的重复观察值
- android - 在 android 模拟器中获取 GPS 位置
- string - Shell脚本根据字符串中的模式获取文件名