无法在名称中创建包含unicode字符的表

时间:2012-01-08 15:26:35

标签: mysql

我在【Navicat for MySQL】中创建了一个表,但无法完成它。

这是我的代码。

CREATE table `成绩表`(
`学号` char(10),
`课号` char(10),
`成绩` int,
PRIMARY KEY(`学号`, `课号`)
)

error:
[SQL] CREATE table `成绩表`(
`学号` char(10),
`课号` char(10),
`成绩` int,
PRIMARY KEY(`学号`, `课号`)
)

[Err] 1005 - Can't create table '成绩表' (errno: 22)

1 个答案:

答案 0 :(得分:1)

根据MySQL manual,它可以处理从U + 0001到U + FFFF的unicode表格和列名称 - 所以你看到的原因很可能需要一些挖掘:

错误消息errno22,其中IIRC转换为invalid argument的操作系统错误代码。这反过来意味着在MySQL本身深处的某个地方有一些函数被调用,它无法接受。

我怀疑所调用的函数来自C运行时和/或操作系统,并且它很可能与文件系统相关。

这反过来意味着它是一个错误或M​​ySQL与你正在使用的OS /文件系统/设置交互的一些模糊行为......

我建议绝对联系MySQL / Oracle,因为那是恕我直言,远远超出SO可以处理的......