【发布时间】:2011-07-06 07:19:37
【问题描述】:
场景:MySql 和 Oracle 中的数据库。两者都有相同的表和相同的列。在其中一张表中,我有一个列“FullName”。
使用的 Oracle 数据类型是 VarChar2(64)。 MySql 使用的数据类型是 VarChar(64)。
支持 Unicode 字符 UTF 8 被用作默认字符集。
我在 Oracle 中遇到错误,提示“值对于列而言太大”,而在 MySql 中它可以正常工作。
我想知道,这两个数据库有什么区别?
注意:UTF 8 编码的日文字符占用 3 个字节。
提前致谢。
帕万
【问题讨论】:
-
在Oracle中,该列是声明为
VARCHAR2(64 BYTE)还是VARCHAR2(64 CHAR)? -
创建表“DUMMYUSER”(...“FULL_NAME”VARCHAR2(64),...);
-
感谢 Jeffery Kemp 提出这个问题。给了我一个全新的视角来看待问题……找到了解决方案。
标签: mysql oracle unicode utf-8