2012-01-08 9 views
6

Creo una tabla en 【Navicate for MySQL】, pero no puedo completarla.No se puede crear una tabla con caracteres Unicode en el nombre

este es mi código.

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) 
+0

¿Cuál es la pregunta? – jalf

+3

¿Son esos caracteres parte del plano multilingüe básico Unicode? http://dev.mysql.com/doc/refman/5.1/en/identifiers.html –

+4

_ASCII NUL (U + 0000) y caracteres suplementarios (U + 10000 y superior) no están permitidos en los identificadores entre comillas o sin comillas._ el enlace de doc anterior ... –

Respuesta

1

Según MySQL manual es capaz de manejar Unicode de U + 0001 hasta U + FFFF para los nombres de tabla y columna - por lo que la razón para que vea lo más probable es que necesite algo de investigación:

El error el mensaje dice errno es 22 que IIRC se traduce en el código de error del SO para invalid argument. Eso a su vez significa que en algún lugar en el camino dentro de MySQL hay una función llamada con un argumento que no puede aceptar.

Sospecho que la función llamada proviene del sistema operativo C y/o sistema operativo y que es más probable que esté relacionada con el sistema de archivos.

A su vez, significa que es ya sea un error o un comportamiento oscura de MySQL interactuar con el sistema operativo/sistema de archivos/configuración que está utilizando ...

recomendaría a definitivamente en contacto con MySQL/Oracle con esto desde que es IMHO mucho más allá de lo que SO puede manejar ...

Cuestiones relacionadas