插入中文是空白,之后再插入其他的中文就直接报错,说重复插入
mysql> CREATE TABLE test111(
-> a VARCHAR(20) NOT NULL UNIQUE
-> )ENGINE=INNODB CHARSET=UTF8;
Query OK, 0 rows affected (0.01 sec)
mysql> INSERT test111(a) VALUES('张三');
Query OK, 1 row affected, 2 warnings (0.00 sec)
mysql> SELECT * FROM test111;
+---+
| a |
+---+
| |
+---+
1 row in set (0.00 sec)
mysql> INSERT test111(a) VALUES('李四');
ERROR 1062 (23000): Duplicate entry '' for key 'a'
问题在于为什么是空白,mysql是不是默认插入的记录=空白,之后插入的中文也=空白,所以报错说我插入重复数据?
正在回答
同学你好,可以尝试将cmd客户端的字符集设置为gb2312,结果集也要设置为gb2312。打开cmd进入MySQL后进行配置,使用语句:
1. set character_set_client=gb2312;
2. set character_set_results=gb2312;
设置完成后,请重新添加数据。祝学习愉快!
- 参与学习 人
- 提交作业 626 份
- 解答问题 4928 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星