如何在导入时从0启动主键

时间:2015-08-21 11:51:37

标签: mysql ruby-on-rails database primary-key

我尝试将csv文件导入MysqlID ID从0开始。它在导入时显示duplicate entry。有没有解决办法呢?

我的迁移文件是

class CreateActors < ActiveRecord::Migration
   def change
    create_table :actors  do |t|
      t.string :title 
      t.float :rating
      t.string :place
      t.string :address
      t.string :special
      t.string :amount
      t.string :phone
    end
   end
end

id默认为主键

我的csv文件显示为

id   title  rating   place   address   amount   phone
0     .       .       .       .         .        .    
1     .       .       .       .         .        .

导入时,我收到此错误

 ERROR 1062: 1062: Duplicate entry '1' for key 'PRIMARY'

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

主键通常由数据库系统设置,并且是AUTO_INCREMENT

我在这里看到了几个解决方案:

  • 如果您需要从文件中保留该ID,只需在表中添加另一个字段并将该值放在那里,同时让DB设置AUTO_INCREMENT值。
  • 忘掉AUTO_INCREMENT并有一个File_ID和一个Row_ID,它们共同组成一个PRIMARY或UNIQUE键。根据附加表设置File_ID,该表记录已导入的文件。