MySQL里的单引号

MySQL里的引号特别多,单引号、双引号、反引号。双引号和反引号一般修饰表名、字段名,反引号可以防止因为表名或者字段名为MySQL的关键字导致的解析问题。而单引号是用来把值包起来的。

如果值里有单引号,那么输入单引号有两种方法:一、用两个单引号表示一个单引号,二、用斜杠加单引号来表示一个单引号。

insert into kv set item='name', value='I''am LiLei';
=> I'am LiLei
insert into kv set item='name', value='I\'am LiLei';
=> I'am LiLei
insert into kv set item='name', value='I''''am LiLei';
=> I''am LiLei
insert into kv set item='name', value='I\'\'am LiLei';
=> I''am LiLei

#值里有双引号是无所谓的
insert into kv set item='name', value='I"am LiLei';
=> I"am LiLei

如果你使用select查看表中数据,都OK,但是如果表结构的comment里有引号呢。如:

alter table kv modify "value" varbinary(4096) NOT NULL COMMENT '键值I''am LiLei';

使用show create table kv来查看,会发现却是两个单引号:

"value" varbinary(4096) NOT NULL COMMENT '键值I''am LiLei'

开始被这个弄懵了,后来才想明白,show create table查看的是建表的SQL语句,方便直接copy、paste、执行,所以理应是两个单引号。

发表于2018-01-16 19:13   修改于2018-01-16 19:13   评论:0   阅读:227  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo