[急]MySQL中建表不能使用中文字段吗?
刚学Mysql遇到问题挺多的,希望大家能多多帮忙哦!谢谢了
mysql> CREATE TABLE 销售小姐(雇员号 INT,姓名 VARCHAR(40), 佣金 TINYINT );
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘??售小姐(雇员号 INT,姓名 VARCHAR(40), 佣金 TINYINT )’ at line 1
别用!!!!!!
可以使用,但建议不要用。如果是开发团队中,一般项目负责人会告诉大家,禁止使用中文表名,字段名,和程序中的变量名.
-
SQL code
mysql> set names 'gb2312'; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE 销售小姐(雇员号 INT,姓名 VARCHAR(40), 佣金 TINYINT ); Query OK, 0 rows affected (0.16 sec) mysql> desc 销售小姐; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | 雇员号 | int(11) | YES | | NULL | | | 姓名 | varchar(40) | YES | | NULL | | | 佣金 | tinyint(4) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 3 rows in set (0.09 sec) mysql>
你的逗号,好像是中文的
create table 销售小姐(雇员号 int, 姓名 varchar(40),佣金 tinyint4 );
建议你原样复制我的语句。你的括号不对。
虽然可以用中文字段或者表名,但确实不建议使用,这会给你造成日后的恶梦。
用中文名,需要使用``分隔符。
mysql> create table `中文表名`(`中文字段` int);
Query OK, 0 rows affected (0.00 sec)
mysql> insert into `中文表名` values(1);
Query OK, 1 row affected (0.00 sec)
mysql> select * from `中文表名`;
+----------+
| 中文字段 |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)
上述用法可以直接拷贝
几乎编程语言都是不建议使用中文的,还有的用都不能用
用中文字段很难长工资的!呵呵
建议不要用中文,遇到编码问题搞死.
mysql> set names 'gb2312';
把字符集设置为这个
可以使用中文 做字段名 但是不介意使用
因为涉及到字符集的问题。。 只有使用合适的字符集才能识别中文字