您的位置:首页 > 数据库 > MySQL

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

2013-11-11 20:26 671 查看
表的数据如下所示:

 

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)

总之一句话,反引号``用来包围字段,单引号'',以及双引号""的意义一样,用来包围字符串。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: