为了账号安全,请及时绑定邮箱和手机立即绑定

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 'set n ames gbk' at line 1

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 'set n

ames gbk' at line 1


正在回答

5 回答

names你分开写了,所以会报错。

0 回复 有任何疑惑可以回复我~
#1

狗蛋儿他爹4392899 提问者

我写的时候应该没分开、。,。、
2017-01-19 回复 有任何疑惑可以回复我~

我和你一样的问题,解决了没有?


0 回复 有任何疑惑可以回复我~

1.MySQL中默认字符集的设置有四级:服务器级,数据库级,表级 。最终是字段级 的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。可以通过how create table table ; 或show full fields from tableName; 来检查当前表中字段的字符集设置。

2.表创建后,再修改字段的字符集设置不影响已经插入的数据.

所以才会出在查看字段时出现中文乱码.此时就只能用:set NAMES ‘utf8/gbk’(用字段插入是所用的相应代码,且这个命令行并不影响服务器端数据) 来查看中文内容

 

当数据库和数据表的编码不一样时,可能插入中文会出现乱码!排插步骤如下:(以utf8为例)

第一步:SHOW CREATE DATABASE XXXX;(我的是SHOW CREATE DATABASE test;)

查看你创建的 数据库是否是:DEFAULT CHARACTER SET utf8

第二步:show create table xxxx 

查看你创建的数据表是否是 DEFAULT CHARSET=UTF8

第三步:

打开my.ini 

在[client]节点下添加 

       default-character-set=utf8

    在[mysqld]节点下添加

       character-set-server=utf8

      collation-server=utf8_general_ci 保存,重启mysql!

再 mysql> show variables like 'char%';查看是否是下面一样:

| character_set_client | utf8 

| character_set_connection | utf8 

| character_set_database | utf8 

| character_set_filesystem | binary

| character_set_results | utf8 

| character_set_server | utf8 

| character_set_system | utf8 

| character_sets_dir | /opt/mysql-cluster/share/mysql/charsets/

然后重新创建数据库imooc和表tdb_goods,就可以插入中文了!O(∩_∩)O~~

1 回复 有任何疑惑可以回复我~

试过了

不行

0 回复 有任何疑惑可以回复我~

just alter "set n ames gbk" to "set names gbk",it is a normal humen-speaking error!

1 回复 有任何疑惑可以回复我~
#1

狗蛋儿他爹4392899 提问者

试过了是不是我家的位置不对,没效果
2017-01-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

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 'set n ames gbk' at line 1

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信