如何在Rails中添加唯一的,自动递增的主键(IdCustomer
)?如果我有一把钥匙怎么办?
class CreateCustomers < ActiveRecord::Migration
def change
create_table :customers do |t|
t.integer :IdCustomer
t.string :Login
t.string :Password
t.string :Email
t.string :Skype
t.integer :ICQ
t.string :Firstname
t.string :Lastname
t.string :Country
t.string :State
t.string :City
t.string :Street
t.string :Building
t.integer :Room
t.string :AddressNote
t.date :DateOfReg
t.integer :CustGroup
t.float :TotalBuy
t.timestamps
end
end
end
请帮我解决这个问题,请使用我的代码。现在我得到了
耙子流产了!发生错误,所有后续迁移都已取消:Mysql2 ::错误:表定义不正确;只有一个汽车 列,必须将其定义为键:CREATE TABLE
credit_cards
(id
int(11)DEFAULT NULL auto_increment PRIMARY KEY,IdCustomer
int(11),IdCard
int(11)DEFAULT NULL auto_increment PRIMARY KEY,Number
varchar(255),NameOfCard
int(11),ExpiryDate
日期,created_at
datetime NOT NULL,updated_at
datetime NOT NULL) ENGINE = InnoDB的
答案 0 :(得分:2)
您不能设置超过1列auto_increment
。如果您想使该列唯一,请在auto_increment PRIMARY KEY
之后删除IdCard int(11) DEFAULT NULL
并添加UNIQUE