Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails ahoy gem-主键id和自动递增提供重复条目_Ruby On Rails_Mysql2 - Fatal编程技术网

Ruby on rails rails ahoy gem-主键id和自动递增提供重复条目

Ruby on rails rails ahoy gem-主键id和自动递增提供重复条目,ruby-on-rails,mysql2,Ruby On Rails,Mysql2,在我的rails应用程序中,我遇到了一些关于访问模型的问题 我有很多工作要做 Mysql2::Error: Duplicate entry '$$' for key 'PRIMARY': INSERT INTO `visits` 其中$$是一个数字 当我打印最后的记录时 Visits=Visit.find(:all, :order => "started_at desc", :limit => 5) Visits.each do |visit| puts "#{visit.id}

在我的rails应用程序中,我遇到了一些关于访问模型的问题

我有很多工作要做

Mysql2::Error: Duplicate entry '$$' for key 'PRIMARY': INSERT INTO `visits`
其中$$是一个数字

当我打印最后的记录时

Visits=Visit.find(:all, :order => "started_at desc", :limit => 5)
Visits.each do |visit| puts "#{visit.id} -- #{visit.started_at}" end
显示是

99904352--2018-02-01 11:32:51 UTC

8918--2018-02-01 09:59:04 UTC

90866--2018-02-01 09:09:10 UTC

99904351--2018-02-01 09:03:00 UTC

99904350--2018-02-01 08:58:24 UTC

我已尝试重置自动增量值

ALTER TABLE visits AUTO_INCREMENT = max_value+1;
没有成功

有什么想法吗?我希望避免转储/删除/重新加载数据库


谢谢

当您发现重复的密钥错误时,例如Mysql2::error:key'PRIMARY'的重复条目“$$”:插入到
访问
,您应该检查两件事:

  • 如果插入记录,则手动设置密钥
  • 如果自动增量值不是较大的关键点
当然,您必须更改程序以避免插入手动设置键的记录,并且必须将自动增量值更新为下一个可用值。要执行此操作,请搜索最大值并将其设置为下一个值

Select max(id) from visits;
ALTER TABLE visits AUTO_INCREMENT = max_value + 1;
嗯 我在创建之前遇到了一个false,它试图用uuid而不是integer设置id。。我对此有评论。。我不得不等待,但我相信这是我的问题


我的错:p

最大值是多少?99904352? 你为什么不凭身份证点菜呢?可能有一个更大的。order by id没有显示问题,这是当时的最大值。ahoy_matey gem不需要指定id,另一个模型ahoy::event没有问题这导致了我的问题:s