MySQL中字段名和保留字冲突的解决办法


我们知道通常的SQL查询语句是这么写的:

复制代码 代码如下:
select col from table;

这当然没问题,但如果字段名是“from”呢?

复制代码 代码如下:
select from from table;

若真的这么写,必然出错,当字段名与MySQL保留字冲突时,可以用字符“`”将字段名括起来:

复制代码 代码如下:
select `from` from table;


总结

刚发现我原先设计的数据库表里有两个字段都用了保留字(add,comment)。在insert和update的时候出错。记得sql server里好像是用[]括起来就ok了。于是试了一下,事实证明这在mySql里行不通。上网简单搜了一下发现都是说用中括号。后来又想到MySql Administrator生成的sql语句好像会把表名什么都用单引号括起来。试了一下,还是行不通。但复制生成的那个符号发现可以。确定那个符号不是单引号。一看才发现时撇号(` 就是数字1前面那个键上的)。到此问题解决。总结一下就是一句话:

在Mysql中,当表名或字段名乃至数据库名和保留字冲突时,在sql语句里可以用撇号(`)括起来。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3