mysql为什么不能插入数据_mysql为啥不能插入数据
mysql為何不能插入數據?
安裝AppServ后首次使用mysql,沒有圖形界面,在“MySql Command Line Client”的操作如下:
======================================================================================
mysql> create database cars;
Query OK, 1 row affected (0.00 sec)
mysql> use cars;
Database changed
mysql> create table cars(id int,xm char(8),h char(8),vin char(20));
Query OK, 0 rows affected (0.06 sec)
mysql> insert into cars(id,xm,h,vin) values(1,'廉東方','豫A5F568','LDC666L2980790000');
Query OK, 1 row affected, 1 warning (0.02 sec)
mysql> select * from cars;
+------+------+----------+-------------------+
| id | xm | h | vin |
+------+------+----------+-------------------+
| 1 | | 豫A5F568 | LDC666L2980790000 |
+------+------+----------+-------------------+
1 rows in set (0.02 sec)
mysql> select xm from cars;
+------+
| xm |
+------+
| |
+------+
1 rows in set (0.00 sec)
mysql> update cars set xm='廉' where id=1;
Query OK, 0 rows affected, 1 warning (0.01 sec)
Rows matched: 1 Changed: 0 Warnings: 0
為何不能設置xm字段的值?為何無法更新?謝謝啦~~~
------解決方案--------------------
你 #1 的內容是我在#3回復后才看到的,不然一開始就解釋了
\xC1\xAE\xB6\xAB\xB7\xBD 是 廉東方 的gbk 內碼
而他卻報錯了,這說明你的數據庫的默認字符集不是 latin1 的,也不是 gbk 的
那么對中文報錯就只能是 utf8 的了(極少有人用 ucs-2 的,就算是也沒關系)
對 utf8 字段插入 gbk 字符當然就要報錯了
所以要 set names gbk 通知 mysql 現在用的是 gbk 字符
那么“豫”為什么沒有報錯呢?
這就要看 utf-8 是如何編碼的了:
U+007F 0xxxxxxx
U+07FF 110xxxxx 10xxxxxx
U+FFFF 1110xxxx 10xxxxxx 10xxxxxx
U+1FFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U+3FFFFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U+7FFFFFFF 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
豫 的gbk二進制內碼為 11010100 10100101
正好符合 U+07FF 編碼規則,所以他就不會報錯
相關文章
相關視頻
網友評論
文明上網理性發言,請遵守 新聞評論服務協議我要評論
立即提交
專題推薦獨孤九賤-php全棧開發教程
全棧 100W+
主講:Peter-Zhu 輕松幽默、簡短易學,非常適合PHP學習入門
玉女心經-web前端開發教程
入門 50W+
主講:滅絕師太 由淺入深、明快簡潔,非常適合前端學習入門
天龍八部-實戰開發教程
實戰 80W+
主講:西門大官人 思路清晰、嚴謹規范,適合有一定web編程基礎學習
總結
以上是生活随笔為你收集整理的mysql为什么不能插入数据_mysql为啥不能插入数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 兰州治免疫性不孕最好的医院推荐
- 下一篇: 补牙齿一般多少钱啊?