我的设置:Rails 2.3.10,Ruby 1.8.7
我想添加一个名为“default”的数据库表列,是允许的还是Ruby,Rails,sqlite,postgresql中的保留字??
答案 0 :(得分:3)
“默认”是许多地方的保留字,包括我在25年以上使用过的每个dbms。
有一些众所周知的方法可以使用保留字作为列名,我不会告诉你它们是什么。为什么?因为我尊重维护程序员。当他们看到你的代码时,他们会问的第一个问题是“默认@#$$%^ @ what?”而且他们必须追踪在不引入错误的情况下有机会做出改变的意义。
善待维护程序员,更具描述性。我很确定目前广泛使用的每个dbms都允许列名中包含8个以上的字符。
答案 1 :(得分:3)
以下是Rails中不像表列一样友好的保留字列表 http://oldwiki.rubyonrails.org/rails/pages/ReservedWords
如果你使用的是mysql,那么DEFAULT是一个保留字: http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
答案 2 :(得分:1)
DEFAULT绝对是SQL中的保留字。它可能在您的DBMS中工作,对于您在应用中使用的特别查询,它可能不会,但它可能会回来并在某些时候咬你的屁股。 我不会使用它。