集思博客

集思博客,(www.gisblogs.net)用心记录我的成长历程,留下技术的沉淀……

« 如何实现sql server和mysql数据库之间的转换php无法连接sql server数据库的解决方法 »

数据库设计时表名避免与数据库保留字相同

  常常有人在QQ上问我一些,关于数据库方面的问题。其实,其中一些问题很隐含,不容易发现。

   比如,下面的语句:"select *from order",当前数据库存在一个叫order的表,就是订单的意思,很多数据库开发中都会用到订单。执行这条语句,数据库系统会返回错误,告诉你在order附近有语法错误。

     我们仔细看,这个SQL语句,从语法上完全没有错误,但是就是执行有错误,各种手册上都是用这样的句子查询表的,怎么会有错呢?

     原因在于,order是数据库系统的保留字,常来排序,比如select *from book order by id意思就是按照id的顺序来排列查询到的结果。

     所以系统在执行select *from order时就认为你会有错误。

     我们更改数据库名order为bookorder,再执行查询select *from bookorder时,没有错误了。

     相似的,有人常喜欢用user来做用户表的表明,但实际上user也同样会带来上面的错误。

      因此,我们建议初学者,在设计数据库表名的时候,尽量避开这些数据库系统的保留字,以免带来不必要的麻烦。

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80605 Code detection by Codefense  theme by BokeZhuti

Copyright 2007-2008 集思博客 www.gisblogs.net 备案号:粤ICP备07051728号 联系QQ:6390514