[急]MySQL中建表不能使用中文字段吗?

Happyliusi 2010-04-06 11:47:49
刚学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
...全文
5130 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
dongtianyiyuy 2010-09-16
  • 打赏
  • 举报
回复
学习了!
feixianxxx 2010-04-16
  • 打赏
  • 举报
回复
可以使用中文 做字段名 但是不介意使用
因为涉及到字符集的问题。。 只有使用合适的字符集才能识别中文字
longzhi89727 2010-04-16
  • 打赏
  • 举报
回复
mysql> set names 'gb2312';
把字符集设置为这个
Happyliusi 2010-04-16
  • 打赏
  • 举报
回复
谢谢大家了!
大海 2010-04-07
  • 打赏
  • 举报
回复
建议不要用中文,遇到编码问题搞死.
boy 2010-04-07
  • 打赏
  • 举报
回复
用中文字段很难长工资的!呵呵
Happyliusi 2010-04-06
  • 打赏
  • 举报
回复
希望大家能帮帮我啊!
懒得去死 2010-04-06
  • 打赏
  • 举报
回复
别用!!!!!!
ldb2741 2010-04-06
  • 打赏
  • 举报
回复
几乎编程语言都是不建议使用中文的,还有的用都不能用
iihero 2010-04-06
  • 打赏
  • 举报
回复
虽然可以用中文字段或者表名,但确实不建议使用,这会给你造成日后的恶梦。

用中文名,需要使用``分隔符。

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)

上述用法可以直接拷贝
ACMAIN_CHM 2010-04-06
  • 打赏
  • 举报
回复
create table 销售小姐雇员号 int, 姓名 varchar(40),佣金 tinyint4 ;

建议你原样复制我的语句。你的括号不对。
yumenfeiyu945 2010-04-06
  • 打赏
  • 举报
回复
你的逗号,好像是中文的
Happyliusi 2010-04-06
  • 打赏
  • 举报
回复
怎么还不对呢?是我数据库的版本问题吗? 我用的是5.1的

mysql> set names 'gb2312'
-> ;
Query OK, 0 rows affected (0.00 sec)

mysql> create table 销售小姐(雇员号 int, 姓名 varchar(40),佣金 tinyint4 );
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),佣金 tinyint4 )' at line 1
Happyliusi 2010-04-06
  • 打赏
  • 举报
回复
谢谢您了!
ACMAIN_CHM 2010-04-06
  • 打赏
  • 举报
回复
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>



关于字符集的相关内容,可以参考下贴中的相关部分。
http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码
ACMAIN_CHM 2010-04-06
  • 打赏
  • 举报
回复
可以使用,但建议不要用。如果是开发团队中,一般项目负责人会告诉大家,禁止使用中文表名,字段名,和程序中的变量名.

56,694

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧