2012-01-08 16 views
6

Creo una tabella in 【Navicate per MySQL】, ma non riesco a completarla.Impossibile creare una tabella con caratteri unicode nel nome

questo è il mio codice.

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

Qual è la domanda? – jalf

+3

Questi caratteri fanno parte del piano multilingue di base Unicode? http://dev.mysql.com/doc/refman/5.1/en/identifiers.html –

+4

_ASCII NUL (U + 0000) e caratteri supplementari (U + 10000 e oltre) non sono consentiti negli identificatori quotati o non quotati. il collegamento doc sopra ... –

risposta

1

Secondo MySQL manual è in grado di gestire unicode da U + 0001 fino a U + FFFF per i nomi di tabelle e colonne - in modo che il motivo per voi vedere molto probabilmente avrà bisogno di un po 'di scavo:

L'errore messaggio dice errno è 22 quale IIRC si traduce nel codice di errore del sistema operativo per invalid argument. Ciò a sua volta significa che da qualche parte lungo la strada, all'interno di MySQL stesso, esiste una funzione chiamata con un argomento che non può accettare.

Sospetto che la funzione chiamata provenga dal runtime C e/o dal sistema operativo e che sia molto probabilmente correlata al filesystem.

Che a sua volta significa che è sia un bug o qualche oscuro comportamento dei MySQL interagire con il sistema operativo/filesystem/setup si utilizza ...

mi sento di raccomandare a contattare sicuramente MySQL/Oracle su questo dato che è IMHO ben oltre ciò che SO può gestire ...

Problemi correlati