建表时出现错误

建表时出现错误

用scaffold创建了脚手架,但在用rake db:migrate的时候提示错误
Mysql::Error: #42000You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘primary_key, 'username' varchar(255)...........

我在公司也是这样,但回家就出错了!是不是和php?name=rails" onclick="tagshow(event)" class="t_tag">rails的版本有关啊?公司的事2.1.0,家里的事2.1.2。还有用的是mysql5.0.67

今天把公司的rails 升级到2.1.2,同样的问题出现了!哪位可以解决一下啊?幸好装了两个ruby

[ 本帖最后由 nttdocomo 于 2008-11-5 10:29 编辑 ]
估计是你调用 scaffold 的时候命令行中加入引号了,检查你的 migration 脚本
ruby script\generate scaffold User id:integer username:string createtime:date

这个scaffold 应该没错吧。

生成的migation文件如下:

[Copy to clipboard] [ - ]
问题解决了,原因是id和mysql里的id重复了,因为建表时会默认增加一个id列的自增字段,在2.1.2里面如果在migration里加入id就会报错!