mysql 字段名字包含空格引发的问题

表的数据如下所示:

 

dada c1 c2 c3 c4c5
1 2310 \N 21 55
2 32\N \N 23 44
3 54\N \N 34 33
4 565\N \N 45 22
5 21\N \N 56 11
6 21\N \N 45 33


创建表格的语句是:

CREATE TABLE `testtable` (
  ` dada` int(10) NOT NULL,
  `c1` int(10) DEFAULT NULL,
  `c2` set('10') DEFAULT NULL,
  `c3` mediumblob,
  `c4` mediumint(9) DEFAULT NULL,
  `c5` double DEFAULT NULL,
  PRIMARY KEY (` dada`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
从中可以看出主要主键名字在打印的时候不小心多打了一个空格,所以之后发现的时候要用引号把字符串包围起来,例如我查询用了这样的语句:

select ’ data‘ from testtable;

但是显示的结果却是下面这样子:

mysql> select ' data' from testtable;
+-------+
| data  |
+-------+
|  data |
|  data |
|  data |
|  data |
|  data |
|  data |
+-------+
6 rows in set (0.00 sec)

可以看到显示的并不是自己想要的结果,而是select语句中’‘之间的字符串,经过多方搜索,最后擦发现字符串的包围不是’‘,而是··(键盘左上角第2行的第一个键)来包围,经过修改后,达到的预期的效果:

mysql> select ` dada` from testtable;
+-------+
|  dada |
+-------+
|     1 |
|     2 |
|     3 |
|     4 |
|     5 |
|     6 |
+-------+
6 rows in set (0.00 sec)

总之一句话,反引号``用来包围字段,单引号'',以及双引号""的意义一样,用来包围字符串。

你可能感兴趣的:(数据库)