Mysql 当ID没有按应有的方式自动递增时
我试图将2个表中的现有数据导入rails应用程序,但遇到了一个与ids相关的奇怪问题。所有创建表的迁移似乎都遵循约定(没有具体提到id字段,只是让rails来解决)。基本上,我为表A中的每个对象发送一个ajax对象,它属于表B中的一个对象。我在对象A中有一个名为object_B_name的字段,还有一个mutator方法,它根据object_B_name执行find_或_create_by_name,返回要在对象A中使用的对象B的id 在我的本地服务器上,表B中的对象具有连续的ID。但在运行相同代码的远程服务器上,这些对象都具有id 0。这是什么原因造成的Mysql 当ID没有按应有的方式自动递增时,mysql,ruby-on-rails-3,passenger,Mysql,Ruby On Rails 3,Passenger,我试图将2个表中的现有数据导入rails应用程序,但遇到了一个与ids相关的奇怪问题。所有创建表的迁移似乎都遵循约定(没有具体提到id字段,只是让rails来解决)。基本上,我为表A中的每个对象发送一个ajax对象,它属于表B中的一个对象。我在对象A中有一个名为object_B_name的字段,还有一个mutator方法,它根据object_B_name执行find_或_create_by_name,返回要在对象A中使用的对象B的id 在我的本地服务器上,表B中的对象具有连续的ID。但在运行相同
编辑/更新:在检查远程服务器中的模式时,发现id字段上没有自动递增或索引(如@Sammitch所述),因此我猜项目中的其他人出于某种原因手动创建了该表。添加这些约束解决了问题。我敢猜测,远程服务器上的
id
列既没有唯一的键/索引,也没有定义AUTO_INCREMENT
。