0

モデル内で次を使用しようとしています。

create!(
  :title         => entry.title,
  :link          => entry.url,
  :published_date => entry.published,
  :entry_id         => entry.id,
  :category => thing,
  :author => entry.author,
  :user_id => user.id
)

id 列が 0 に設定されているため、最初のエントリを超えて何かを追加すると、これは失敗しMysql2::Error: Duplicate entry '0' for key 'PRIMARY'ます。上記のコードを使用して id を自動インクリメントする方法はありますか?

ありがとう

4

1 に答える 1

0

新しいインスタンスを作成するときに ID を手動で指定する必要はありません。Rails は自動インクリメント列を自動的に作成し、一意の ID の生成を処理します。

この場合、ID 列を改ざんしてその型を変更した場合、これをリセットする最も簡単な方法は、単純にテーブルを再作成することです。

于 2013-05-14T04:05:24.690 に答える