mysql教程

超轻量级php框架startmvc

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

更新时间:2020-04-26 22:35:01 作者:startmvc
我们知道通常的SQL查询语句是这么写的:selectcolfromtable;这当然没问题,但如果字段名是“fr

我们知道通常的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语句里可以用撇号(`)括起来。

MySQL 字段名和保留字冲突