跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于

转自:https://blog.csdn.net/w576233728/article/details/97624532

1.varchar定义数目和汉字数一样

mysql> create table test_varchar (id int,bytes varchar(2));    --建表
Query OK, 0 rows affected (0.01 sec)

mysql> insert into test_varchar (id,bytes) values (1,'汉字');
Query OK, 1 row affected (0.00 sec)    --成功插入两个汉字

mysql> insert into test_varchar (id,bytes) values (1,'ab');
Query OK, 1 row affected (0.00 sec)    --成功插入两个英文字符

--尝试插入三个英文字符,有个warning
mysql> insert into test_varchar (id,bytes) values (1,'abc');
Query OK, 1 row affected, 1 warning (0.00 sec)    

--查看表,可以发现超出长度的被截断了
mysql> select * from test_varchar;
+------+--------+
| id   | bytes  |
+------+--------+
|    1 | 汉字   |
|    1 | ab     |
|    1 | ab     |
+------+--------+

--插入超出数目的汉字
mysql> insert into test_varchar (id,bytes) values (1,'汉字测试');
Query OK, 1 row affected, 1 warning (0.00 sec)

--同样也会被截断
mysql> select * from test_varchar;
+------+--------+
| id   | bytes  |
+------+--------+
|    1 | 汉字   |
|    1 | ab     |
|    1 | ab     |
|    1 | 汉字   |
+------+--------+

--使用不同id插入,仍然被截断,说明不是id的影响
mysql> select * from test_varchar;
+------+--------+
| id   | bytes  |
+------+--------+
|    1 | 汉字   |
|    1 | ab     |
|    1 | ab     |
|    1 | 汉字   |
|    2 | 汉字   |
+------+--------+

总结,mysql中,char(n)和varchar(n)中n代表的是字符数,不论是中文还是英文,一个字符就是一个英文字母或一个汉字

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。